Function at 0x4a3430
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x13c8
call fcn.00567c6a
push ebx
push ebp
push esi
push edi
push dword [0x100fc75c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
call dword [0x100d3264]
inc eax
push eax
push dword [0x100fc75c]
call dword [0x100d3260]
push 1
lea ecx, [esp + 0x64]
call fcn.00519620
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0x170]
call fcn.00518f70
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x170]
call fcn.00518cb0
push 1
push 0x100d4ce0
lea ecx, [esp + 0xdc]
push dword [eax + 4]
push dword [eax]
call fcn.00518d80
mov ecx, eax
call fcn.00518e50
mov ebp, 0x3a
test eax, eax
je 0x4a377b
mov eax, dword [0x100d4cf4]
lea ecx, [esp + 0x16c]
movq xmm0, qword [0x100d4cec]
mov dword [esp + 0x6c], eax
mov ax, word [0x100d4cf8]
movq qword [esp + 0x64], xmm0
mov word [esp + 0x70], ax
call fcn.005195c0
cmp ax, 6
jb 0x4a377b
push 5
lea ecx, [esp + 0x170]
call fcn.005195a0
cmp bp, ax
jne 0x4a377b
push 4
lea ecx, [esp + 0x170]
call fcn.005195a0
cmp dword [ebx + 4], 0
mov word [esp + 0x6c], ax
je 0x4a377b
cmp dword [0x100fc614], 0
je 0x4a377b
push 4
lea ecx, [esp + 0x170]
call fcn.005195a0
movzx ecx, ax
mov eax, dword [0x100fc5f8]
movzx edi, word [eax + ecx*2]
sub edi, 0x41
cmp edi, 0x20
jae 0x4a377b
mov esi, dword [0x100fc35c]
lea eax, [esp + 0x374]
push 0
push 0x24
push eax
push 0x17
call dword [0x100d3258]
push eax
mov eax, dword [esi + 0x137c]
lea ecx, [esi + 0x137c]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x4a377b
mov al, byte [esp + edi + 0x378]
test al, al
je 0x4a35a7
cmp al, 1
je 0x4a35a7
cmp al, 4
jne 0x4a377b
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], edi
lea esi, [ebx + 0x40]
push eax
mov ecx, esi
call fcn.004a2de0
test eax, eax
jne 0x4a45aa
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.004a2b10
push edi
mov ecx, esi
call fcn.004a3100
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
push ebp
lea eax, [esp + 0x74]
push eax
call dword [0x100fc614]
mov ebx, eax
mov dword [esp + 0x38], edi
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.004a5570
cmp ebx, 0xea
jne 0x4a366a
mov dword [esp + 0x38], edi
jmp 0x4a3620
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
add eax, 0x100
push eax
mov dword [esp + 0x18], eax
call fcn.004a2b10
push edi
mov ecx, esi
call fcn.004a3100
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
push ebp
lea eax, [esp + 0x74]
push eax
call dword [0x100fc614]
mov ebx, eax
mov ecx, esi
lea eax, [esp + 0x38]
push eax
call fcn.004a5570
cmp ebx, 0xea
je 0x4a3620
test ebx, ebx
jne 0x4a376e
push 0x100d4cfc
lea ecx, [esp + 0x90]
call fcn.0049adb0
lea eax, [ebp + 2]
push eax
lea ecx, [esp + 0x90]
call fcn.004a2480
push dword [esp + 0x8c]
lea ecx, [esp + 0xe8]
call fcn.00518d40
mov ecx, eax
call fcn.004df6f0
mov esi, dword [esp + 0x13e8]
mov ecx, dword [esp + 0x18]
push esi
push dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.004a32e0
mov ecx, esi
call fcn.004df6f0
cmp word [eax], bx
jbe 0x4a3700
mov ecx, esi
call fcn.005195c0
dec ax
mov ecx, esi
movzx eax, ax
push eax
call fcn.005195a0
mov ecx, 0x5c
cmp cx, ax
je 0x4a3700
push 0x100d49c0
mov ecx, esi
call fcn.005192e0
lea ecx, [esp + 0x16c]
call fcn.005195c0
cmp ax, 7
jbe 0x4a3754
lea ecx, [esp + 0x16c]
call fcn.005195c0
sub ax, 7
lea ecx, [esp + 0x16c]
movzx eax, ax
push eax
call fcn.004df6f0
lea ecx, [esp + 0xf8]
mov eax, dword [eax + 4]
add eax, 0xe
push eax
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
push eax
mov ecx, esi
call fcn.00519270
lea ecx, [esp + 0x8c]
call fcn.0049b400
lea ecx, [esp + 0x2c]
call fcn.004d66a0
jmp 0x4a45ca
lea ecx, [esp + 0x2c]
call fcn.004d66a0
mov ebx, dword [esp + 0x18]
lea edi, [ebx + 0x18]
push edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x28], edi
call fcn.004e5020
lea eax, [esp + 0x58]
mov ecx, edi
push eax
call fcn.004a3010
mov esi, dword [esp + 0x58]
cmp esi, dword [edi + 4]
jne 0x4a37a9
xor ebx, ebx
test esi, esi
je 0x4a37c1
jmp 0x4a37bb
mov ebx, esi
test esi, esi
je 0x4a37c1
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test ebx, ebx
je 0x4a38f4
lea esp, [esp]
lea ebp, [ebx + 0x210]
test ebx, ebx
je 0x4a37e0
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push ebx
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.004a5b80
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 4]
jne 0x4a3808
xor edi, edi
test esi, esi
je 0x4a3822
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x34], edi
jmp 0x4a3822
mov edi, esi
test esi, esi
je 0x4a3822
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x34], 0
test ebx, ebx
je 0x4a382c
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
mov ebx, edi
test edi, edi
je 0x4a3838
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
push ebp
lea ecx, [esp + 0x7ac]
call fcn.00518f70
push 1
lea ecx, [esp + 0x170]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x7b0]
call fcn.004df6f0
push eax
call dword [0x100fc3e4]
test eax, eax
je 0x4a3b1e
lea ecx, [esp + 0x7a8]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x9b4]
call fcn.00518f70
push 0x100d49c0
lea ecx, [esp + 0x9b4]
call fcn.005192e0
push 1
lea ecx, [esp + 0x9b4]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x174]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x160]
call fcn.00518d20
mov ecx, eax
call fcn.00518df0
test eax, eax
jne 0x4a3a8d
lea ecx, [esp + 0x9b0]
call fcn.005190e0
lea ecx, [esp + 0x7a8]
call fcn.005190e0
test edi, edi
mov edi, dword [esp + 0x24]
jne 0x4a37d0
cmp byte [esp + 0x40], 0
mov ebp, dword [0x100d3278]
je 0x4a393a
mov esi, dword [esp + 0x3c]
dec dword [esi + 0x10]
jne 0x4a393a
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
call dword [0x100d3284]
add esi, 0xc
cmp dword [esi], 0
jle 0x4a393a
push esi
call dword [0x100d3288]
mov eax, dword [esp + 0x3c]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call ebp
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 4], 0
je 0x4a39e0
push 0x100d4d0c
lea ecx, [esp + 0x78]
call fcn.00518d40
push 1
lea ecx, [esp + 0x78]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x174]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x150]
call fcn.00518d20
mov ecx, eax
call fcn.00518df0
test eax, eax
je 0x4a39e0
lea ecx, [esp + 0x74]
call fcn.005195c0
movzx esi, ax
lea ecx, [esp + 0x16c]
add esi, esi
call fcn.004df6f0
lea ecx, [esp + 0x16c]
mov edi, dword [eax + 4]
add edi, esi
call fcn.005195c0
movzx esi, ax
lea ecx, [esp + 0x16c]
add esi, esi
call fcn.004df6f0
mov eax, dword [eax + 4]
add eax, esi
cmp edi, eax
je 0x4a39e0
mov edx, 0x5c
cmp dx, word [edi]
je 0x4a3b9f
add edi, 2
cmp edi, eax
jne 0x4a39d0
lea ecx, [esp + 0x16c]
call fcn.004df6f0
xor esi, esi
mov edi, dword [eax + 4]
mov eax, 0x5c
cmp ax, word [edi]
je 0x4a3a13
lea ecx, [esp + 0x16c]
call fcn.004df6f0
movzx ecx, si
add ecx, ecx
movzx eax, word [eax]
cmp ecx, eax
jne 0x4a3a68
lea ecx, [esp + 0xbb8]
call fcn.005190d0
lea eax, [esp + 0xbb8]
push eax
push esi
lea ecx, [esp + 0x174]
call fcn.004df6f0
lea ecx, [esp + 0x12c]
mov eax, dword [eax + 4]
push eax
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
push eax
call fcn.00500110
add esp, 8
test eax, eax
je 0x4a3c43
lea ecx, [esp + 0xbb8]
call fcn.005190e0
lea ecx, [esp + 0x16c]
call fcn.004df6f0
movzx ecx, si
add ecx, ecx
movzx eax, word [eax]
cmp ecx, eax
je 0x4a3cc2
inc esi
add edi, 2
jmp 0x4a39f1
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x7a8]
push eax
call fcn.00519100
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0x9b0]
mov ax, word [eax]
shr ax, 1
movzx esi, ax
call fcn.005195c0
movzx edi, ax
lea ecx, [esp + 0x9b0]
add edi, edi
call fcn.005195c0
sub si, ax
lea ecx, [esp + 0x16c]
movzx eax, si
push eax
call fcn.004df6f0
lea ecx, [esp + 0xc0]
mov eax, dword [eax + 4]
add eax, edi
push eax
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.00519160
lea ecx, [esp + 0x9b0]
call fcn.005190e0
jmp 0x4a3b3e
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x7a8]
push eax
call fcn.00519100
mov ecx, dword [esp + 0x13e8]
call fcn.005194e0
lea ecx, [esp + 0x7a8]
call fcn.005190e0
cmp byte [esp + 0x40], 0
je 0x4a45ca
mov esi, dword [esp + 0x3c]
dec dword [esi + 0x10]
jne 0x4a45ca
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
call dword [0x100d3284]
add esi, 0xc
cmp dword [esi], 0
jle 0x4a45ca
push esi
call dword [0x100d3288]
mov eax, dword [esp + 0x3c]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call dword [0x100d3278]
jmp 0x4a45ca
add edi, 2
cmp edi, eax
je 0x4a39e0
mov esi, 0x3a
nop
movzx ecx, word [edi]
cmp dx, cx
je 0x4a39e0
cmp si, cx
je 0x4a3bcd
add edi, 2
cmp edi, eax
jne 0x4a3bb0
jmp 0x4a39e0
cmp edi, eax
je 0x4a39e0
cmp dx, word [edi]
je 0x4a3be6
add edi, 2
cmp edi, eax
jne 0x4a3bd5
jmp 0x4a39e0
push 0x100d4cfc
lea ecx, [esp + 0xfcc]
call fcn.00518fd0
push edi
lea ecx, [esp + 0xfcc]
call fcn.005192e0
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xfcc]
call fcn.00518cb0
push dword [esp + 0x13e8]
mov ecx, ebx
push dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.004a32e0
lea ecx, [esp + 0xfc8]
call fcn.005190e0
jmp 0x4a45ca
lea eax, [esp + 0xbb8]
push eax
lea ecx, [esp + 0xdc4]
call fcn.00518f70
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0xdc]
mov ax, word [eax]
shr ax, 1
sub ax, si
movzx eax, ax
push eax
push edi
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
push eax
lea ecx, [esp + 0xdc4]
call fcn.00519270
lea eax, [esp + 0xdc0]
push eax
lea ecx, [esp + 0x170]
call fcn.00519100
lea ecx, [esp + 0xdc0]
call fcn.005190e0
lea ecx, [esp + 0xbb8]
call fcn.005190e0
jmp 0x4a39e0
lea esi, [ebx + 0x24]
mov dword [esp + 0x44], esi
call dword [0x100d327c]
mov edi, eax
lea ecx, [esi + 8]
cmp edi, dword [ecx]
je 0x4a3cf7
cmp dword [ecx], 0
jne 0x4a3d20
push 0
push edi
push ecx
call dword [0x100d3280]
test eax, eax
sete al
test al, al
je 0x4a3d20
mov dword [esi + 0x10], 0
inc dword [esi + 0x10]
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.004a3010
mov esi, dword [esp + 0x4c]
cmp esi, dword [edi + 4]
jne 0x4a3d34
xor ebx, ebx
test esi, esi
je 0x4a3d4c
jmp 0x4a3d46
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.00498960
test al, al
jne 0x4a3cf7
mov byte [esp + 0x13], al
jmp 0x4a3cff
mov ebx, esi
test esi, esi
je 0x4a3d4c
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test ebx, ebx
je 0x4a3e8c
lea ebp, [ebx + 0x210]
test ebx, ebx
je 0x4a3d64
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push ebx
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.004a5b80
mov esi, dword [esp + 0x1c]
cmp esi, dword [edi + 4]
jne 0x4a3d8c
xor edi, edi
test esi, esi
je 0x4a3da6
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x1c], edi
jmp 0x4a3da6
mov edi, esi
test esi, esi
je 0x4a3da6
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x1c], 0
test ebx, ebx
je 0x4a3db0
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
mov ebx, edi
test edi, edi
je 0x4a3dbc
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
push ebp
lea ecx, [esp + 0x39c]
call fcn.00518f70
push 1
lea ecx, [esp + 0x170]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x3a0]
call fcn.004df6f0
push eax
call dword [0x100fc3e4]
test eax, eax
je 0x4a40a9
lea ecx, [esp + 0x398]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x5a4]
call fcn.00518f70
push 0x100d49c0
lea ecx, [esp + 0x5a4]
call fcn.005192e0
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x170]
call fcn.00518cb0
push 1
lea ecx, [esp + 0x5a4]
mov esi, eax
call fcn.004df6f0
push eax
push dword [esi + 4]
lea ecx, [esp + 0xf8]
push dword [esi]
call fcn.00518d80
mov ecx, eax
call fcn.00518df0
test eax, eax
jne 0x4a4018
lea ecx, [esp + 0x5a0]
call fcn.005190e0
lea ecx, [esp + 0x398]
call fcn.005190e0
test edi, edi
mov edi, dword [esp + 0x24]
jne 0x4a3d54
mov ebp, dword [0x100d3278]
cmp byte [esp + 0x13], 0
je 0x4a3ece
mov esi, dword [esp + 0x44]
dec dword [esi + 0x10]
jne 0x4a3ece
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
mov eax, dword [0x100d3284]
call eax
add esi, 0xc
cmp dword [esi], 0
jle 0x4a3ece
mov eax, dword [0x100d3288]
push esi
call eax
mov eax, dword [esp + 0x44]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call ebp
push 0
push 0x40
lea ecx, [esp + 0x174]
call fcn.004df6f0
push eax
push 0
lea ecx, [esp + 0x114]
call fcn.00518cf0
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0
je 0x4a422a
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0x16c]
mov ax, word [eax]
shr ax, 1
movzx edi, ax
mov dword [esp + 0x18], edi
movzx ebp, di
call fcn.004df6f0
movzx ecx, di
xor esi, esi
mov dword [esp + 0x14], esi
mov eax, dword [eax + 4]
lea ebx, [eax + ecx*2]
mov eax, 0x5c
cmp ax, word [ebx]
je 0x4a3f45
cmp bp, di
jne 0x4a41f0
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [ebp*2]
push 0x21
push 3
mov word [eax], cx
lea ecx, [esp + 0x104]
mov esi, dword [0x100fc35c]
mov dword [esp + 0x28], 0
call fcn.00518cd0
mov ecx, eax
call fcn.004df6f0
push eax
lea ecx, [esp + 0x110]
call fcn.004df6f0
push eax
push 0x100000
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x5dc]
lea ecx, [esi + 0x5dc]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x4a41ca
mov edi, 0x400
xor esi, esi
test edi, edi
je 0x4a3fc7
push edi
call fcn.0055b7c0
add esp, 4
mov esi, eax
mov ecx, dword [0x100fc35c]
lea eax, [esp + 0x98]
push eax
push edi
add ecx, 0x107c
push esi
push 1
push dword [esp + 0x30]
mov eax, dword [ecx]
call dword [eax + 0x24]
call eax
cmp eax, 0xc0000004
je 0x4a4003
cmp eax, 0x80000005
je 0x4a4003
cmp eax, 0xc0000023
jne 0x4a412c
add edi, 0x100
test esi, esi
je 0x4a3fb6
push esi
call fcn.0055b7b0
add esp, 4
jmp 0x4a3fb6
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x398]
push eax
call fcn.00519100
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0x5a0]
mov ax, word [eax]
shr ax, 1
movzx esi, ax
call fcn.005195c0
movzx edi, ax
lea ecx, [esp + 0x5a0]
add edi, edi
call fcn.005195c0
sub si, ax
lea ecx, [esp + 0x16c]
movzx eax, si
push eax
call fcn.004df6f0
lea ecx, [esp + 0x140]
mov eax, dword [eax + 4]
add eax, edi
push eax
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.00519160
lea ecx, [esp + 0x5a0]
call fcn.005190e0
jmp 0x4a40c9
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x398]
push eax
call fcn.00519100
mov ecx, dword [esp + 0x13e8]
call fcn.005194e0
lea ecx, [esp + 0x398]
call fcn.005190e0
cmp byte [esp + 0x13], 0
je 0x4a45ca
mov esi, dword [esp + 0x44]
dec dword [esi + 0x10]
jne 0x4a45ca
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
mov eax, dword [0x100d3284]
call eax
add esi, 0xc
cmp dword [esi], 0
jle 0x4a45ca
mov eax, dword [0x100d3288]
push esi
call eax
mov eax, dword [esp + 0x44]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call dword [0x100d3278]
jmp 0x4a45ca
test eax, eax
jne 0x4a41b9
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x11d0]
sub eax, ebp
push eax
push ebx
call fcn.00519050
push dword [esi + 4]
lea ecx, [esp + 0x170]
push dword [esi]
call fcn.00519160
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x11d4]
call fcn.00518cb0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x170]
call fcn.00519270
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0x11d0]
mov dword [esp + 0x14], 1
mov ax, word [eax]
shr ax, 1
movzx edi, ax
mov dword [esp + 0x18], edi
call fcn.005190e0
push esi
call fcn.0055b7b0
add esp, 4
jmp 0x4a41ca
test esi, esi
je 0x4a41c6
push esi
call fcn.0055b7b0
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4a41ec
cmp eax, 0xffffffff
je 0x4a41ec
push eax
call fcn.00550b00
mov ecx, dword [esp + 0x20]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x16c]
call fcn.004df6f0
cmp dword [eax + 4], ebx
je 0x4a4214
add ebp, 0xffff
sub ebx, 2
test esi, esi
je 0x4a3f32
jmp 0x4a422a
test esi, esi
jne 0x4a422a
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [edi + edi]
mov word [eax], cx
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0x16c]
xor edi, edi
mov ebx, dword [eax + 4]
call fcn.004df6f0
mov esi, 0x5c
mov ax, word [eax]
shr ax, 1
movzx ebp, ax
cmp si, word [ebx]
je 0x4a4263
cmp di, bp
jne 0x4a436c
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [edi + edi]
mov dword [esp + 0x1c], 0
mov word [eax], cx
cmp si, word [ebx]
jne 0x4a429a
lea ecx, [esp + 0x16c]
call fcn.004df6f0
mov dword [esp + 0x1c], 1
add word [eax], 2
mov esi, dword [0x100fc35c]
lea ecx, [esp + 0x14c]
push 0x21
push 3
mov dword [esp + 0x30], 0
call fcn.00518cd0
mov ecx, eax
call fcn.004df6f0
push eax
lea ecx, [esp + 0x110]
call fcn.004df6f0
push eax
push 0x100001
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esi + 0x5dc]
lea ecx, [esi + 0x5dc]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x4a4355
push 0x400
call fcn.0055b7c0
mov esi, dword [0x100fc35c]
lea ecx, [esp + 0x120]
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x400
push 1
push 0
push 0
push 3
push 0x400
push eax
call fcn.00518cd0
mov ecx, eax
call fcn.004df6f0
push eax
mov eax, dword [esi + 0x9fc]
lea ecx, [esi + 0x9fc]
push 0
push 0
push 0
push dword [esp + 0x50]
call dword [eax + 0x24]
call eax
test eax, eax
je 0x4a4375
lea ecx, [esp + 0x50]
call fcn.004d66a0
lea ecx, [esp + 0x28]
call fcn.004a22f0
cmp di, bp
je 0x4a4411
mov esi, 0x5c
inc edi
add ebx, 2
jmp 0x4a4255
mov ebx, dword [esp + 0x13e4]
lea eax, [esp + 0x16c]
push eax
mov ecx, ebx
call fcn.00519100
cmp dword [esp + 0x1c], 0
je 0x4a43a1
mov ecx, ebx
call fcn.004df6f0
mov ecx, 0xfffe
add word [eax], cx
cmp bp, di
jne 0x4a43b9
push 0x100d43dc
lea ecx, [esp + 0x160]
call fcn.00518d40
jmp 0x4a43e2
sub ebp, edi
lea ecx, [esp + 0x16c]
dec ebp
push ebp
call fcn.004df6f0
movzx ecx, di
mov eax, dword [eax + 4]
lea eax, [eax + ecx*2]
add eax, 2
lea ecx, [esp + 0x168]
push eax
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.00519160
lea ecx, [esp + 0x50]
call fcn.004d66a0
lea ecx, [esp + 0x28]
call fcn.004a22f0
jmp 0x4a458e
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [ebp*2]
push 1
push 0x100d4ce0
mov word [eax], cx
lea ecx, [esp + 0x174]
call fcn.004df6f0
push eax
lea ecx, [esp + 0x140]
call fcn.00518d20
mov ecx, eax
call fcn.00518e50
test eax, eax
je 0x4a45aa
mov eax, dword [0x100d4cf4]
lea ecx, [esp + 0x16c]
movq xmm0, qword [0x100d4cec]
mov dword [esp + 0x84], eax
movzx eax, word [0x100d4cf8]
movq qword [esp + 0x7c], xmm0
mov word [esp + 0x88], ax
call fcn.004df6f0
mov ecx, 0xfffe
movzx eax, word [eax]
and ax, cx
cmp ax, 0xc
jb 0x4a45aa
lea ecx, [esp + 0x16c]
call fcn.004df6f0
mov ecx, 0x3a
mov eax, dword [eax + 4]
cmp cx, word [eax + 0xa]
jne 0x4a45aa
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0xac]
mov eax, dword [eax + 4]
mov ax, word [eax + 8]
mov word [esp + 0x84], ax
lea eax, [esp + 0x7c]
push eax
call fcn.00518d40
mov ecx, eax
call fcn.004df6f0
mov ebx, dword [esp + 0x13e4]
mov ecx, ebx
push dword [eax + 4]
push dword [eax]
call fcn.00519160
lea ecx, [esp + 0x16c]
mov edi, 6
call fcn.004df6f0
cmp word [eax], 0xc
jne 0x4a452e
push 0x100d43dc
lea ecx, [esp + 0xb8]
call fcn.00518d40
jmp 0x4a4576
lea ecx, [esp + 0x16c]
call fcn.004df6f0
mov esi, dword [eax + 4]
mov eax, 0x5c
add esi, 0xc
cmp ax, word [esi]
jne 0x4a4550
add esi, 2
lea edi, [eax - 0x55]
lea ecx, [esp + 0x16c]
call fcn.004df6f0
lea ecx, [esp + 0xc4]
mov ax, word [eax]
shr ax, 1
sub ax, di
movzx eax, ax
push eax
push esi
call fcn.00518d60
mov ecx, eax
call fcn.004df6f0
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.00519160
sub esp, 0x208
mov ecx, esp
push ebx
call fcn.00518f70
mov ecx, dword [esp + 0x22c]
call fcn.004a3130
jmp 0x4a45ca
mov ecx, dword [esp + 0x13e4]
call fcn.005194e0
mov ecx, dword [esp + 0x13e8]
lea eax, [esp + 0x16c]
push eax
call fcn.00519100
lea ecx, [esp + 0x16c]
call fcn.005190e0
lea ecx, [esp + 0x60]
call fcn.00519640
push dword [0x100fc75c]
call dword [0x100d3264]
dec eax
push eax
push dword [0x100fc75c]
call dword [0x100d3260]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c8
ret 0x10