Function at 0x4dd2f0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4e4
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
xor eax, eax
cmp dword [ecx], edi
push 0x50
sete al
lea edx, [ebp - 0x154]
push edi
push edx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], edi
mov esi, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x158], edi
call fcn.004e0710
push 0x103
lea eax, [ebp - 0x3df]
push edi
push eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x74], edi
mov byte [ebp - 0x3e0], 0
call fcn.004e0710
lea ecx, [ebp - 0x25c]
add esp, 0x18
mov dword [ebp - 0x3c], ecx
call fcn.004dbe70
push 0x218
push 0x20
mov dword [ebp - 0xb0], eax
call fcn.004db100
mov dword [ebp - 0x38], eax
cmp esi, edi
je 0x4dd39e
mov edx, dword [ebp + 0xc]
push edx
push 0x1001c8c
call fcn.004db610
add esp, 8
xor eax, eax
cmp dword [ebp + 0x14], edi
setne al
xor ebx, ebx
add eax, 0x3f3
cmp dword [ebp + 0x18], edi
mov dword [ebp - 0x44], eax
jle 0x4dd3fb
mov esi, dword [ebp - 0x38]
add esi, 4
jmp 0x4dd3c0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + ebx*4]
cmp ecx, edi
je 0x4dd3fb
mov edx, esi
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4dd3d0
cmp esi, edi
je 0x4dd3ef
mov eax, esi
mov edx, 0x104
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4dd3e5
inc ebx
add esi, 0x218
cmp ebx, dword [ebp + 0x18]
jl 0x4dd3c0
mov esi, dword [ebp + 0xc]
push edi
push esi
mov dword [0x1009a48], edi
mov dword [0x100992c], edi
mov dword [0x1008994], edi
mov dword [0x100819c], edi
mov dword [0x1008980], edi
mov dword [0x10089a0], edi
mov dword [0x1008984], edi
mov dword [0x1009918], edi
mov dword [0x1008198], edi
mov dword [0x1008988], edi
mov dword [0x1008990], edi
mov dword [0x1009910], edi
mov dword [0x1009914], edi
mov dword [0x1008978], edi
mov dword [0x100897c], edi
mov dword [0x1009920], edi
mov dword [0x1009924], edi
mov dword [0x1008970], edi
mov dword [0x1008974], edi
mov dword [0x1009908], edi
mov dword [0x100990c], edi
mov dword [0x1008998], edi
mov dword [0x100899c], edi
call fcn.004dbba0
lea edx, [ebp - 0x25c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4dd495
call fcn.004dec20
cmp dword [0x10091d0], edi
jne 0x4dd4f6
push edi
push edi
push 3
push edi
push 1
push SysReAllocString
push edi
push esi
call fcn.004dbba0
push eax
call fcn.004db7e0
mov dword [0x1009904], eax
cmp eax, 0xffffffff
jne 0x4dd4f6
push esi
push 0x1001c68
push edi
push 0x285
push 0x1001568
call fcn.004dbef0
add esp, 0x14
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [0x10099f8]
mov dword [ebp - 0x7c], edi
mov dword [0x1009938], edi
mov dword [0x100993c], edi
mov dword [0x10099f0], edi
mov dword [0x10099f4], edi
mov dword [0x10099e8], edi
mov dword [0x10099ec], edi
cmp eax, edi
je 0x4dd538
push 0x8000
push edi
push eax
call fcn.004db240
mov dword [0x10099f8], edi
push 0x1102c
call fcn.004db150
add eax, 0x1000
lea edx, [eax + 0x1c]
and edx, 0xfff
sub eax, edx
push 0x1102c
mov dword [ebp - 0xc0], eax
call fcn.004db150
add eax, 0x1000
push 4
lea ecx, [eax + 0x1c]
push 0x1000
and ecx, 0xfff
push 0x10000
sub eax, ecx
push edi
mov dword [ebp - 0x30], eax
call fcn.004db1f0
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x40], edi
jne 0x4dd770
xor esi, esi
cmp dword [0x100919c], esi
jne 0x4dd77a
mov edi, dword [ebp + 0x18]
cmp edi, esi
jle 0x4dd665
mov ebx, dword [ebp - 0x38]
add ebx, 0x20c
mov dword [ebp - 0x34], edi
jmp 0x4dd5c0
lea edx, [ebx - 0x208]
push edx
call fcn.004dfa70
mov dword [ebx], eax
mov ecx, eax
lea edx, [ebp - 0x4e4]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4dd5d6
lea eax, [ebp - 0x4e4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4dd5f0
sub eax, edx
cmp byte [ebp + eax - 0x4e4], 0x5c
je 0x4dd621
lea edi, [ebp - 0x4e4]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4dd610
mov ax, word [0x1001c64]
mov word [edi], ax
push 0x10
lea ecx, [ebp - 0xa4]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
push ecx
push 0x41
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x4e4]
push eax
call fcn.004dec90
test eax, eax
jne 0x4dd652
mov dword [ebx + 8], esi
add ebx, 0x218
sub dword [ebp - 0x34], 1
jne 0x4dd5c0
mov edi, dword [ebp + 0x18]
cmp dword [ebp + 0x14], esi
jne 0x4dd6e6
mov ebx, dword [ebp - 0x38]
lea ecx, [ebx + 4]
push ecx
call fcn.004dec70
mov edx, dword [ebp + 8]
test eax, eax
mov eax, dword [edx]
jne 0x4dd6a4
push eax
lea ecx, [ebp - 0x3e0]
push ecx
push 0x1001c4c
push esi
push 0x2c6
push 0x1001568
call fcn.004dbef0
add esp, 0x18
jmp 0x4ddc83
push esi
push esi
push 3
push esi
push 1
push 0xc0000000
push eax
call fcn.004db7e0
mov dword [ebx], eax
cmp eax, 0xffffffff
jne 0x4dd6e1
lea ecx, [ebp - 0x3e0]
push ecx
push 0x1001c2c
push esi
push 0x2e5
push 0x1001568
call fcn.004dbef0
add esp, 0x14
jmp 0x4ddc83
mov dword [0x10089a4], eax
mov ecx, dword [0x1008088]
push 0x10000
push 0x20
call fcn.004e0170
test eax, eax
jne 0x4dd70c
push 0x1001c0c
push esi
push 0x2f2
jmp 0x4ddc76
mov edx, dword [0x1008088]
mov dword [edx + 0x10], esi
mov eax, dword [0x10089a4]
push eax
call fcn.004dbfb0
xor ebx, ebx
cmp edi, esi
jle 0x4dd770
mov esi, dword [ebp - 0x38]
add esi, 4
lea esp, [esp]
push 0
push 0
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 8]
push edx
mov edx, dword [esi + 0x20c]
lea eax, [ebp - 0x54]
push eax
push ecx
mov ecx, dword [esi - 4]
push edx
lea eax, [ebp - 0x158]
push eax
push esi
push ecx
call fcn.004dec60
test eax, eax
je 0x4ddc83
inc ebx
add esi, 0x218
cmp ebx, dword [ebp + 0x18]
jl 0x4dd730
xor esi, esi
cmp dword [0x100919c], esi
je 0x4dd7c9
mov edx, dword [ebp - 0x38]
imul ebx, ebx, 0x218
push esi
push 0x8000000
push 3
push esi
push 3
push SysReAllocString
lea eax, [ebx + edx + 4]
push eax
call fcn.004db7e0
mov dword [ebp - 0x78], eax
cmp eax, 0xffffffff
jne 0x4dd7c9
lea ecx, [ebp - 0x3e0]
push ecx
push 0x1001c2c
push esi
push 0x325
push 0x1001568
call fcn.004dbef0
add esp, 0x14
jmp 0x4ddc83
mov edx, dword [ebp - 0x44]
push esi
push 0x3e8
push esi
push edx
mov dword [ebp - 4], esi
mov dword [0x1008994], esi
mov dword [0x100819c], esi
mov dword [0x1008980], esi
mov dword [0x10089a0], esi
mov dword [0x1008984], esi
mov dword [0x1009918], esi
mov dword [0x1008198], esi
mov dword [0x1008988], esi
mov dword [0x1008990], esi
mov dword [0x1009910], esi
mov dword [0x1009914], esi
mov dword [0x1008978], esi
mov dword [0x100897c], esi
mov dword [0x1009920], esi
mov dword [0x1009924], esi
mov dword [0x1008970], esi
mov dword [0x1008974], esi
mov dword [0x1009908], esi
mov dword [0x100990c], esi
mov dword [0x1008998], esi
mov dword [0x100899c], esi
call fcn.004dec50
push 0x48
push esi
push 0x1009a00
call fcn.004e0710
add esp, 0xc
call fcn.004dbe70
mov ecx, dword [ebp - 0x25c]
mov dword [0x1009a00], eax
cmp ecx, 0x5c3f3f5c
je 0x4dd8b2
movzx eax, cl
sub eax, 0x5c
jne 0x4dd8aa
movzx eax, ch
sub eax, 0x3f
jne 0x4dd8aa
movzx eax, byte [ebp - 0x25a]
sub eax, 0x3f
jne 0x4dd8aa
movzx eax, byte [ebp - 0x259]
sub eax, 0x5c
je 0x4dd8b2
sar eax, 0x1f
or eax, 1
jne 0x4dd8ba
lea edx, [ebp - 0x258]
jmp 0x4dd8c0
lea edx, [ebp - 0x25c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp ecx, esi
je 0x4dd941
cmp dword [ecx], 0x5c2e5c5c
je 0x4dd92f
movzx eax, byte [ecx]
sub eax, 0x5c
jne 0x4dd8f4
movzx eax, byte [ecx + 1]
sub eax, 0x5c
jne 0x4dd8f4
movzx eax, byte [ecx + 2]
sub eax, 0x2e
jne 0x4dd8f4
movzx eax, byte [ecx + 3]
sub eax, 0x5c
je 0x4dd92f
sar eax, 0x1f
or eax, 1
je 0x4dd92f
cmp dword [ecx], 0x5c3f3f5c
je 0x4dd92f
movzx eax, byte [ecx]
sub eax, 0x5c
jne 0x4dd927
movzx eax, byte [ecx + 1]
sub eax, 0x3f
jne 0x4dd927
movzx eax, byte [ecx + 2]
sub eax, 0x3f
jne 0x4dd927
movzx eax, byte [ecx + 3]
sub eax, 0x5c
je 0x4dd92f
sar eax, 0x1f
or eax, 1
jne 0x4dd932
add ecx, 4
push ecx
push edx
push 0x1001c00
call fcn.004db610
add esp, 0xc
rdtsc
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], eax
cmp dword [0x100992c], esi
jne 0x4ddc83
mov ecx, dword [0x1009938]
mov edx, dword [0x100993c]
lea eax, [ebp - 0x5c]
push eax
push 0xc
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x1c]
push ecx
push 0xffffffffffffffff
mov dword [ebp - 0x6c], edx
mov edx, dword [0x1009904]
push 0xffffffffffffffff
push edx
call fcn.004dce40
test eax, eax
je 0x4de547
mov eax, dword [ebp - 0x1c]
cmp eax, 0x304e4e53
jne 0x4dd9c0
mov edx, dword [0x1009904]
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push edx
call fcn.004dd1c0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
add dword [ebp - 4], ecx
push eax
call fcn.004db130
jmp 0x4de1cc
cmp eax, 0x5f444e45
je 0x4de558
cmp eax, 0x45544e53
jne 0x4dd9eb
mov eax, dword [0x1009904]
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.004dd160
inc dword [ebp - 4]
xor esi, esi
jmp 0x4dd941
cmp eax, 0x49524453
je 0x4ddc0c
cmp eax, 0x30494e53
jne 0x4dda17
mov ecx, dword [0x1009904]
lea eax, [ebp - 0x1c]
push eax
push ecx
call fcn.004dd160
inc dword [ebp - 4]
xor esi, esi
jmp 0x4dd941
cmp eax, 0x30564e53
jne 0x4dda5d
mov ecx, dword [0x1009904]
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x1c]
push eax
push ecx
call fcn.004dd1c0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x5f]
shr eax, 4
cmp eax, 1
jae 0x4dda45
mov eax, 1
push 0
push eax
mov eax, dword [ebp - 0x44]
push 0
push eax
call fcn.004dec50
inc dword [ebp - 4]
xor esi, esi
jmp 0x4dd941
cmp eax, 0x5458454e
jne 0x4ddc26
mov ecx, dword [0x1009904]
push ecx
call fcn.004db9c0
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp + 0xc]
inc ebx
push ebx
push edx
mov dword [ebp - 0x60], ebx
call fcn.004dbba0
lea edx, [ebp - 0x25c]
jmp 0x4dda90
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4dda90
lea ebx, [ebx]
xor edi, edi
push edi
push edi
push 3
push edi
push 1
push SysReAllocString
lea eax, [ebp - 0x25c]
push eax
call fcn.004db7e0
mov dword [0x1009904], eax
cmp eax, 0xffffffff
jne 0x4ddadd
lea ecx, [ebp - 0x25c]
push ecx
push 0x1001bec
call fcn.004db170
add esp, 8
jmp 0x4ddb5e
mov ecx, dword [0x10099f8]
mov dword [ebp - 0x64], edi
mov dword [0x1009938], edi
mov dword [0x100993c], edi
mov dword [0x10099f0], edi
mov dword [0x10099f4], edi
mov dword [0x10099e8], edi
mov dword [0x10099ec], edi
cmp ecx, edi
je 0x4ddb25
push 0x8000
push edi
push ecx
call fcn.004db240
mov eax, dword [0x1009904]
mov dword [0x10099f8], edi
lea edx, [ebp - 0x5c]
push edx
push 0xc
lea ecx, [ebp - 0x1c]
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
call fcn.004dce40
test eax, eax
jne 0x4ddb44
push 0x1001bc4
jmp 0x4ddb56
cmp dword [ebp - 0x1c], 0x4f434e53
je 0x4ddbec
push 0x1001ba0
call fcn.004db170
add esp, 4
cmp eax, edi
je 0x4ddbec
cmp dword [0x1009930], edi
je 0x4de872
mov edx, dword [ebp + 0xc]
push 0x2e
push ebx
push edx
call fcn.004dbba0
push eax
call fcn.004e07d0
mov esi, eax
push esi
push 0x1001b9c
call fcn.004db170
add esp, 0x10
push eax
push esi
push edi
push 0x1001524
push 0x1001b80
call fcn.004db170
add esp, 0x10
push eax
mov eax, dword [ebp + 0xc]
push ebx
push eax
call fcn.004dbba0
push eax
push 0x1001524
push 0x1001b70
call fcn.004db170
mov edx, dword [0x100898c]
add esp, 0xc
push eax
lea ecx, [ebp - 0x25c]
push ecx
push edi
push edx
call fcn.004dec40
test eax, eax
je 0x4ddc83
mov ebx, dword [ebp - 0x60]
jmp 0x4ddaa0
lea eax, [ebp - 0x25c]
push eax
push 0x1001b60
push 0x3f6
call fcn.004dec10
add esp, 0xc
mov dword [ebp - 0x68], 1
mov edx, dword [0x1009904]
lea ecx, [ebp - 0x1c]
push ecx
push edx
call fcn.004dd160
inc dword [ebp - 4]
xor esi, esi
jmp 0x4dd941
cmp eax, 0x304f4e53
je 0x4ddc0c
cmp eax, 0x4f434e53
je 0x4ddc0c
cmp eax, 0x52434e53
jne 0x4ddd04
mov edx, dword [0x1009904]
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push edx
call fcn.004dd1c0
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, 0x1009a48
call fcn.004debc0
test eax, eax
jne 0x4ddc1c
push 0x1001b18
push eax
push 0x406
push 0x1001568
call fcn.004dbef0
add esp, 0x10
mov dword [ebp - 0x58], 1
mov ecx, dword [0x1008088]
call fcn.004e00d0
cmp dword [0x100919c], 0
je 0x4ddcac
mov eax, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x4ddcac
push eax
call fcn.004db9c0
cmp dword [ebp - 0x40], 0
jne 0x4ddcf8
cmp dword [0x100919c], 0
jne 0x4ddcf8
mov edx, dword [0x100897c]
mov eax, dword [0x1008978]
push 0xc
push edx
push eax
call fcn.004df850
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push eax
push 0xc
push ecx
push edx
call fcn.004df850
push eax
push 0x1001afc
push 0x516
call fcn.004dec10
add esp, 0x10
mov eax, dword [ebp - 0x58]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp eax, 0x30444e53
je 0x4ddd31
cmp eax, 0x30484e53
je 0x4ddd31
push eax
push 0x1001adc
push 0
push 0x411
push 0x1001568
call fcn.004dbef0
add esp, 0x14
jmp 0x4de08d
mov eax, dword [ebp - 0x18]
cmp eax, 0x10028
jbe 0x4ddd5a
push eax
push 0x1001ab4
push 0
push 0x417
push 0x1001568
call fcn.004dbef0
add esp, 0x14
jmp 0x4de08d
mov esi, dword [ebp - 0x30]
mov edx, dword [0x1009904]
lea ecx, [ebp - 0x5c]
push ecx
push eax
lea ebx, [esi + 8]
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
call fcn.004dce40
test eax, eax
jne 0x4ddda5
mov eax, dword [0x100993c]
mov ecx, dword [0x1009938]
push eax
push ecx
push 0x1001a88
push 0
push 0x41e
push 0x1001568
call fcn.004dbef0
add esp, 0x18
jmp 0x4de08d
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp - 0x5c]
lea edx, [eax + 0x14]
cmp ecx, edx
je 0x4ddde6
mov edx, dword [0x1009938]
push 0x14
push eax
mov eax, dword [ebp - 0x18]
push ecx
mov ecx, dword [0x100993c]
push eax
push ecx
push edx
push 0x1001a4c
push 0
push 0x425
push 0x1001568
call fcn.004dbef0
add esp, 0x28
jmp 0x4de08d
push 1
push 8
lea eax, [ebp - 0x1c]
push eax
call fcn.004df930
mov ecx, dword [ebp - 0x18]
push eax
push ecx
push ebx
call fcn.004df930
mov esi, eax
mov eax, dword [ebp - 0x14]
cmp esi, eax
je 0x4ddf42
mov edi, dword [ebp - 0x30]
lea edx, [ebp + 0xb]
push edx
lea ecx, [ebp + 0x17]
push ecx
lea edx, [ebp - 0xb8]
push edx
push eax
mov eax, dword [edi + 0x14]
push eax
lea ecx, [edi + 0x1c]
push ecx
push 0x14
push ebx
push 8
lea edx, [ebp - 0x1c]
push edx
call fcn.004df700
sub eax, 1
je 0x4dde68
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi + 0x14]
mov edx, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x70]
push esi
push ecx
push edx
push eax
push 0x10019f0
push 0
push 0x45e
push 0x1001568
call fcn.004dbef0
add esp, 0x24
jmp 0x4de08d
add dword [0x1009908], 1
mov esi, dword [ebp - 0xb8]
movzx ecx, byte [ebp + 0xb]
adc dword [0x100990c], 0
movzx edx, byte [ebp + 0x17]
xor edi, edi
add esi, dword [ebp - 0x70]
push ecx
adc edi, dword [ebp - 0x6c]
add esi, 4
push edx
adc edi, 0
push edi
push esi
push 0x10019b8
call fcn.004db610
movzx eax, byte [ebp + 0xb]
movzx ecx, byte [ebp + 0x17]
push eax
push ecx
push edi
push esi
push 0x1001940
call fcn.004db170
add esp, 0x28
cmp dword [0x1009930], 0
mov esi, eax
je 0x4ddf0d
push 0
push 0x31
push 0x1001524
push 0x1001930
call fcn.004db170
add esp, 8
push eax
push 0x100190c
push esi
push 0x1001904
call fcn.004db170
mov edx, dword [0x100898c]
add esp, 0xc
push eax
push 0xa
push edx
call fcn.004deca0
cmp eax, 1
je 0x4ddf42
cmp eax, 2
je 0x4ddc83
jmp 0x4ddf42
push esi
push 0x1001900
call fcn.004db610
add esp, 8
push 0x100c420
call fcn.004dec80
push eax
call fcn.004dec80
test eax, eax
jne 0x4ddf42
push esi
push 0x1001900
push 0x100c440
call fcn.004db5c0
add esp, 0xc
mov esi, dword [ebp - 0x30]
test byte [esi + 0x18], 0x10
je 0x4ddf7d
rdtsc
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
push eax
mov dword [ebp - 0x80], edx
push ecx
lea edx, [esi + 0x1c]
push edx
mov ecx, 0x1009a48
call fcn.004deb90
lea eax, [ebp - 0x84]
push eax
call fcn.004dec70
add dword [0x1008994], eax
test byte [esi + 0x18], 4
mov dword [ebp - 0x64], 0
je 0x4ddf98
add dword [esi + 0x14], 0xfffffffc
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + esi + 0x1c]
mov dword [ebp - 0x64], ecx
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebx + 0x14]
lea edx, [ebp - 0x4c]
lea edi, [ebx + 0x1c]
push edx
mov dword [ebp - 0x34], edi
call fcn.004dec70
add dword [0x1008990], eax
mov eax, dword [ebp - 0x5c]
add dword [0x1009920], eax
adc dword [0x1009924], 0
test byte [ebx + 0x18], 2
je 0x4ddffb
rdtsc
push edi
mov edi, dword [ebp - 0xac]
push edi
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x94], eax
call fcn.004dccd0
lea ecx, [ebp - 0x94]
push ecx
mov esi, eax
mov dword [ebp - 0x34], edi
call fcn.004dec70
add dword [0x1008980], eax
test byte [ebx + 0x18], 1
je 0x4de03c
rdtsc
mov ebx, dword [ebp - 0xc0]
push esi
push edi
add ebx, 0x1c
push ebx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x8c], eax
call fcn.004dcda0
lea edx, [ebp - 0x8c]
mov edi, ebx
push edx
mov esi, eax
mov dword [ebp - 0x34], edi
call fcn.004dec70
add dword [0x10089a0], eax
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x10]
cmp esi, eax
je 0x4de060
push eax
push esi
push 0x10018d4
push 0
push 0x494
push 0x1001568
call fcn.004dbef0
add esp, 0x18
jmp 0x4de08d
test byte [ebx + 0x18], 4
je 0x4de0cd
push 1
push esi
push edi
call fcn.004df930
cmp eax, dword [ebp - 0x64]
je 0x4de0cd
push 0x10018b8
push 0
push 0x49c
push 0x1001568
call fcn.004dbef0
add esp, 0x10
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push eax
push ecx
lea edx, [ebp - 0x25c]
push edx
push 0x1001880
push 0
push 0x581
push 0x1001568
call fcn.004dbef0
add esp, 0x1c
push 0xb
call fcn.004dec30
inc dword [ebp - 4]
mov dword [ebp - 0x58], 0xb
xor esi, esi
jmp 0x4dd941
cmp dword [ebp - 0x40], 0
jne 0x4de1cc
cmp dword [0x100919c], 0
jne 0x4de1cc
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 8]
add ecx, 8
cmp dword [ebp - 0x1c], 0x30484e53
mov ecx, dword [ecx + 4]
jne 0x4de196
xor edi, edi
nop
test esi, esi
jle 0x4de1cc
mov edx, dword [ebp - 0x30]
mov ecx, edi
shr ecx, 0xc
mov eax, 1
shl eax, cl
movzx ecx, word [edx + 0x1a]
test ecx, eax
je 0x4de182
add edx, 8
xor ecx, ecx
mov eax, edi
add eax, dword [edx]
adc ecx, dword [edx + 4]
cmp esi, 0x1000
mov edx, esi
jl 0x4de13a
mov edx, 0x1000
lea ebx, [ebp - 0xb4]
push ebx
push ecx
mov ecx, dword [ebp + 0x18]
push eax
push edx
mov edx, dword [ebp - 0x34]
lea eax, [edi + edx]
push eax
push ecx
mov ecx, dword [0x1008088]
lea edx, [ebp - 0x2dc]
push edx
call fcn.004e0530
test eax, eax
je 0x4ddc83
mov eax, dword [ebp - 0xb4]
add dword [0x1008978], eax
adc dword [0x100897c], 0
sub esi, 0x1000
add edi, 0x1000
cmp edi, 0x10000
jb 0x4de100
jmp 0x4de1cc
lea edx, [ebp - 0x7c]
push edx
push ecx
push eax
mov eax, dword [ebp + 0x18]
push esi
push edi
push eax
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, dword [0x1008088]
call fcn.004e0530
test eax, eax
je 0x4ddc83
mov edx, dword [ebp - 0x7c]
add dword [0x1008978], edx
adc dword [0x100897c], 0
push 0x3e8
lea eax, [ebp - 0x24]
push eax
call fcn.004dbea0
test eax, eax
je 0x4ddc1c
lea edi, [ebp - 0x25c]
mov eax, edi
xor esi, esi
mov dword [ebp - 0x3c], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4de1f2
sub eax, edx
cmp eax, 5
jbe 0x4de223
lea ecx, [ebp - 0x25c]
push 0x5c
push ecx
call fcn.004e07d0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4de21f
lea edi, [ebp - 0x25c]
jmp 0x4de220
inc edi
mov dword [ebp - 0x3c], edi
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4de278
mov edx, ebx
mov ebx, dword [edx + 0x5f]
mov esi, ebx
cmp ebx, 1
ja 0x4de23b
mov esi, 1
mov ecx, dword [ebp - 4]
inc ecx
imul ecx, ecx, 0x64
xor edx, edx
mov eax, ecx
div esi
cmp eax, 0x64
jbe 0x4de254
mov esi, 0x64
jmp 0x4de268
mov esi, ebx
cmp ebx, 1
ja 0x4de260
mov esi, 1
mov eax, ecx
xor edx, edx
div esi
mov esi, eax
mov eax, dword [ebp - 4]
push eax
push ebx
call fcn.004dd050
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x40], 0
je 0x4de307
push 0x100c440
call fcn.004dec80
push eax
call fcn.004dec80
test eax, eax
jne 0x4de29e
cmp dword [0x1008e7c], eax
je 0x4de2c8
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push esi
push 0xc
push ecx
push edx
call fcn.004df850
push eax
push edi
push 0x1001858
push 0x100c440
call fcn.004db5c0
add esp, 0x14
mov eax, dword [0x1009924]
mov ecx, dword [0x1009920]
push esi
push 0xc
push eax
push ecx
call fcn.004df850
push eax
push edi
push 0x1001830
push 0x516
call fcn.004dec10
push edi
push 0x1001524
push esi
push 0x100181c
call fcn.004db170
add esp, 0x24
jmp 0x4de4cf
cmp dword [0x100919c], 0
je 0x4de3a6
push 0x100c440
call fcn.004dec80
push eax
call fcn.004dec80
test eax, eax
jne 0x4de330
cmp dword [0x1008e7c], eax
je 0x4de360
mov edx, dword [0x1009924]
mov eax, dword [0x1009920]
push esi
push 0xc
push edx
push eax
call fcn.004df850
push eax
lea ecx, [ebp - 0x3e0]
push ecx
push edi
push 0x10017ec
push 0x100c440
call fcn.004db5c0
add esp, 0x18
mov edx, dword [0x1009924]
mov eax, dword [0x1009920]
push esi
push 0xc
push edx
push eax
call fcn.004df850
push eax
lea ecx, [ebp - 0x3e0]
push ecx
push edi
push 0x10017bc
push 0x516
call fcn.004dec10
push edi
push 0x1001524
push esi
push 0x100181c
call fcn.004db170
add esp, 0x28
jmp 0x4de4cf
test ebx, ebx
je 0x4de47f
cmp byte [ebx + 0xaf], 0x44
jne 0x4de3fa
mov edx, dword [0x100897c]
mov eax, dword [0x1008978]
push 0xc
push edx
push eax
call fcn.004df850
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push eax
push 0xc
push ecx
push edx
call fcn.004df850
push eax
push edi
push 0x10017a0
push 0x100c440
call fcn.004db5c0
add esp, 0x14
jmp 0x4de47f
cmp dword [ebp - 0x68], 0
je 0x4de429
push 0x1001758
push 0x100c440
mov dword [ebp - 0x68], 0
call fcn.004db5c0
push edi
push 0x100174c
push 0x100c440
call fcn.004db5c0
add esp, 0x14
mov eax, 0x10624dd3
mul dword [ebp - 0x74]
mov eax, edx
shr eax, 6
xor edx, edx
mov ecx, 0x3c
div ecx
push edx
mov edx, dword [0x100897c]
push eax
mov eax, dword [0x1008978]
push esi
push 0xc
push edx
push eax
call fcn.004df850
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push eax
push 0xc
push ecx
push edx
call fcn.004df850
push eax
push 0x1001710
push 0x100c440
call fcn.004db5c0
add esp, 0x1c
push 0x1001524
push esi
push 0x10016fc
call fcn.004db170
mov eax, dword [0x100897c]
mov ecx, dword [0x1008978]
add esp, 0xc
push esi
push 0xc
push eax
push ecx
call fcn.004df850
mov edx, dword [0x1009924]
push eax
mov eax, dword [0x1009920]
push 0xc
push edx
push eax
call fcn.004df850
push eax
push 0x10016d8
push 0x516
call fcn.004dec10
add esp, 0x14
test ebx, ebx
je 0x4de533
mov eax, dword [ebx + 0x5f]
cmp eax, 0x100
jbe 0x4de51d
shr eax, 4
mov ecx, 1
cmp eax, 1
jb 0x4de4ec
mov ecx, eax
mov eax, dword [ebp - 4]
shr eax, 4
cmp eax, 1
jae 0x4de4fc
mov eax, 1
push 0
push ecx
mov ecx, dword [ebp - 0x44]
push eax
push ecx
call fcn.004dec50
push 0x100c420
call fcn.004dec80
inc dword [ebp - 4]
xor esi, esi
jmp 0x4dd941
mov edx, dword [ebp - 4]
push 0
shl eax, 6
push eax
mov eax, dword [ebp - 0x44]
shl edx, 6
push edx
push eax
call fcn.004dec50
push 0x100c420
call fcn.004dec80
inc dword [ebp - 4]
xor esi, esi
jmp 0x4dd941
push 0x10016c0
push 0
push 0x35a
jmp 0x4ddc76
push 0x100141c
call fcn.004db610
mov esi, dword [ebp + 0x18]
mov ecx, dword [0x1008088]
add esp, 4
push esi
lea eax, [ebp - 0x2dc]
push eax
call fcn.004e0590
test eax, eax
jne 0x4de586
mov dword [ebp - 0x58], 1
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x4de770
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push 0xc
push ecx
push edx
call fcn.004df850
push eax
lea eax, [ebp - 0x25c]
push eax
push 0x10016a4
call fcn.004db610
add esp, 0xc
push 0x100c440
call fcn.004dec80
push eax
call fcn.004dec80
test eax, eax
je 0x4de612
push 0x100c420
call fcn.004dec80
push eax
call fcn.004dec80
test eax, eax
jne 0x4de612
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push 0xc
push ecx
push edx
call fcn.004df850
push eax
lea eax, [ebp - 0x25c]
push eax
push 0x1001688
push 0x100c440
call fcn.004db5c0
add esp, 0x10
mov eax, dword [0x1009908]
mov ecx, dword [0x100990c]
mov edx, eax
or edx, ecx
je 0x4de632
push ecx
push eax
push 0x1001660
call fcn.004db610
add esp, 0xc
push 0x100141c
call fcn.004db610
mov eax, dword [0x1009924]
mov ecx, dword [0x1009920]
add esp, 4
push 0xc
push eax
push ecx
call fcn.004df850
push eax
push 0x100164c
push 0x516
call fcn.004dec10
push 0x1001524
push 0x1001638
call fcn.004db170
add esp, 0x14
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4de6ab
mov eax, dword [ebx + 0x5f]
shr eax, 4
mov ecx, 1
cmp eax, 1
jb 0x4de68e
mov ecx, eax
mov eax, dword [ebp - 4]
shr eax, 4
cmp eax, 1
jae 0x4de69e
mov eax, 1
push 1
push ecx
mov ecx, dword [ebp - 0x44]
push eax
push ecx
call fcn.004dec50
push 0x64
call fcn.004db9f0
call fcn.004dbe70
mov edx, eax
sub edx, dword [ebp - 0xb0]
mov eax, 0x10624dd3
mul edx
mov ecx, edx
shr ecx, 6
mov eax, 0x88888889
mul ecx
shr edx, 5
mov eax, edx
shl eax, 4
sub eax, edx
add eax, eax
add eax, eax
sub ecx, eax
push ecx
push edx
push 0x100161c
call fcn.004db610
add esp, 0xc
test edi, edi
jne 0x4ddc8a
cmp dword [0x100919c], edi
jne 0x4ddc8a
test esi, esi
jle 0x4ddc8a
mov esi, dword [ebp - 0x38]
cmp dword [ebp + 0x10], 0
jne 0x4de746
mov ecx, dword [esi]
push ecx
call fcn.004dec80
test eax, eax
jne 0x4de746
mov edx, dword [esi + 0x20c]
mov ecx, dword [esi]
push edx
push eax
push eax
mov eax, dword [esi + 0x210]
push eax
push ebx
push ecx
call fcn.004deca0
test eax, eax
je 0x4ddc83
mov ebx, dword [ebp - 0xc]
mov edx, dword [esi]
push edx
call fcn.004db6c0
cmp dword [0x100992c], 0
jne 0x4de75f
mov eax, dword [esi]
push eax
call fcn.004dec30
inc edi
add esi, 0x218
cmp edi, dword [ebp + 0x18]
jl 0x4de710
jmp 0x4ddc8a
cmp dword [0x100919c], 0
jne 0x4de675
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4de822
cmp byte [ebx + 0xaf], 0x44
jne 0x4de7cf
mov edx, dword [0x100897c]
mov eax, dword [0x1008978]
push 0xc
push edx
push eax
call fcn.004df850
mov ecx, dword [0x1009924]
mov edx, dword [0x1009920]
push eax
push 0xc
push ecx
push edx
call fcn.004df850
push eax
mov eax, dword [ebp - 0x3c]
push eax
push 0x10017a0
call fcn.004db610
add esp, 0x10
jmp 0x4de822
mov eax, dword [ebp - 4]
inc eax
imul eax, eax, 0x64
xor edx, edx
div dword [ebx + 0x5f]
cmp eax, 0x64
jbe 0x4de7e5
mov eax, 0x64
mov ecx, dword [0x100897c]
mov edx, dword [0x1008978]
push eax
push 0xc
push ecx
push edx
call fcn.004df850
mov ecx, dword [0x1009920]
push eax
mov eax, dword [0x1009924]
push 0xc
push eax
push ecx
call fcn.004df850
mov edx, dword [ebp - 0x3c]
push eax
push edx
push 0x10015f4
call fcn.004db610
add esp, 0x14
mov eax, dword [0x100897c]
mov ecx, dword [0x1008978]
push 0xc
push eax
push ecx
call fcn.004df850
mov edx, dword [0x1009924]
push eax
mov eax, dword [0x1009920]
push 0xc
push edx
push eax
call fcn.004df850
push eax
push 0x1001afc
push 0x516
call fcn.004dec10
push 0x1001524
push 0x10015e0
call fcn.004db170
add esp, 0x18
jmp 0x4de678
push eax
lea ecx, [ebp - 0x25c]
push ecx
push 0x10015d4
push edi
push 0x3dd
push 0x1001568
call fcn.004dbef0
add esp, 0x18
jmp 0x4ddc83