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

Disassembly:
mov eax, 0xa8
call fcn.00609610
push ebx
xor ebx, ebx
mov eax, 0x61b564
push ebp
push esi
push edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x90], eax
mov esi, edx
xor eax, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov ecx, 0x1a
lea edi, [esp + 0x50]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], ebx
call fcn.005109a0
mov ecx, dword [esi + 4]
mov dword [esp + 0x40], eax
push esi
lea eax, [esp + 0x54]
push eax
call fcn.00512c90
mov ecx, dword [esi + 4]
push 4
push ecx
xor edx, edx
lea ecx, [esp + 0x58]
call fcn.00432c30
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x94]
cmp eax, ebx
mov ebp, dword [edx + 0xc]
mov dword [esp + 0x3c], ebp
je 0x420e0c
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x40]
cmp dword [edx + 0x4c], 2
jne 0x420dfd
mov eax, dword [eax + 0xc]
push eax
mov ecx, ebp
call fcn.00408430
jmp 0x420e08
mov ecx, dword [eax + 0xc]
push ecx
mov ecx, ebp
call fcn.00408fb0
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0x60]
call fcn.004edd10
mov eax, dword [esp + 0x10]
xor edi, edi
cmp eax, ebx
je 0x420ea8
mov ecx, ebp
call fcn.00401450
mov esi, eax
push ebx
mov ecx, esi
mov dword [esp + 0x28], esi
call fcn.004f3150
test byte [esi + 0x10], 2
jne 0x420e49
mov edx, dword [esi]
push 0xe6
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe6
call fcn.004e8d70
mov edi, eax
cmp edi, ebx
je 0x421000
test byte [edi + 0x10], 2
push ebx
push 0x39
jne 0x420e72
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
jmp 0x420e7a
mov ecx, dword [edi + 8]
call fcn.004e8ba0
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
cmp edx, dword [eax + 0x38]
je 0x420ea8
test byte [esi + 0x10], 2
jne 0x420e99
mov eax, dword [edi + 4]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push edi
call fcn.004e8ee0
mov edi, eax
cmp edi, ebx
jne 0x420e60
cmp edi, ebx
je 0x421000
push 0x31
mov ecx, edi
call fcn.004f34c0
test eax, eax
jle 0x421000
push 0x31
mov ecx, edi
call fcn.004f34c0
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x20], eax
call fcn.004dc5a0
mov dword [esp + 0x18], eax
test byte [edi + 0x10], 2
jne 0x420eeb
mov edx, dword [edi]
push 0x31
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [edi + 8]
push 0x31
call fcn.004e8d70
mov esi, eax
test byte [edi + 0x10], 2
mov dword [esp + 0x10], esi
jne 0x420f0a
mov eax, dword [edi]
push 0x3a
mov ecx, edi
call dword [eax + 0x10]
mov ecx, dword [edi + 8]
push 0x3a
call fcn.004e8d70
cmp esi, ebx
mov ebp, eax
je 0x420ff8
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov ax, word [edx]
cmp ax, 0xd
jne 0x420f4d
mov ecx, dword [esp + 0x3c]
mov word [esi], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push eax
call fcn.004084e0
test eax, eax
mov dword [esi + 4], eax
je 0x420fa6
jmp 0x420fa2
cmp ax, 0xc
jne 0x420f6e
mov word [esi], ax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x3c]
push eax
call fcn.00408350
test eax, eax
mov dword [esi + 4], eax
je 0x420fa6
jmp 0x420fa2
cmp ax, 0x49
jne 0x420f7b
mov word [esi], 0x26
jmp 0x420fa2
cmp ax, 0x4a
jne 0x420f88
mov word [esi], 0x27
jmp 0x420f9a
cmp ax, 0x48
jne 0x420f95
mov word [esi], 0x18
jmp 0x420fa2
mov word [esi], 0x28
mov dword [esp + 0x1c], 1
inc ebx
add esi, 0x10
test byte [edi + 0x10], 2
jne 0x420fbb
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [edi]
push ecx
mov ecx, edi
call dword [edx + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 8]
push edx
call fcn.004e8ee0
mov dword [esp + 0x10], eax
test byte [edi + 0x10], 2
jne 0x420fdd
mov ecx, dword [ebp + 4]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x10]
mov ecx, dword [edi + 8]
push ebp
call fcn.004e8ee0
mov ebp, eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x420f22
test ebx, ebx
jne 0x421027
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x421016
mov ecx, 0x10
mov dword [esp + 0x20], 1
call fcn.004dc5a0
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov word [edx], 0x28
mov dword [esp + 0x1c], 1
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x421034
call fcn.004f3190
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x60]
call fcn.004eddb0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x421326
push 0
lea ecx, [esp + 0x48]
call fcn.004f60c0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov cx, word [edx + 0xa]
call fcn.00512ac0
test eax, eax
mov dword [esp + 0x24], eax
je 0x42131d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x14]
push 4
push eax
push ecx
mov ecx, dword [esp + 0x30]
xor edx, edx
mov dx, word [ecx]
lea ecx, [esp + 0x4c]
push edx
call fcn.005114e0
test ax, ax
je 0x42130a
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx]
push 0
push ecx
push eax
call dword [edx + 0x40]
push 0x3ff
mov esi, eax
mov eax, dword [edi + 4]
push 4
push eax
mov ecx, esi
call fcn.004eb090
mov ecx, esi
call fcn.004fb200
test eax, eax
mov dword [esp + 0x34], eax
je 0x42130a
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
call dword [edx + 0x78]
cmp eax, 0x17
jne 0x4212f5
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push 0xc0f
call dword [edx + 0x64]
mov ecx, eax
call fcn.004fb200
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ecx
je 0x4212f5
mov eax, dword [esp + 0x2c]
xor ebx, ebx
cmp eax, ebx
jne 0x421149
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0x101b
lea eax, [esp + 0x50]
push eax
call fcn.004ebb00
jmp 0x421161
lea ecx, [esp + 0x38]
push ecx
push 0xa
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], 1
call fcn.004f6210
mov edx, dword [esp + 0x44]
cmp dword [edx], 2
je 0x4212d8
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0xc1f
lea eax, [esp + 0x50]
push eax
call fcn.004ebb00
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x40]
call fcn.00408430
mov ebp, dword [esp + 0x20]
cmp ebp, ebx
mov edi, eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], ebx
jle 0x421215
mov esi, dword [esp + 0x18]
add esi, 4
lea ebx, [ebx]
mov eax, dword [esi]
cmp edi, eax
je 0x421271
cmp word [esi - 4], 0xc
jne 0x4211d8
test eax, eax
je 0x4211d8
mov eax, dword [eax + 0x38]
push eax
mov ecx, edi
call fcn.0043ae10
test eax, eax
jne 0x421271
mov edx, dword [esi + 4]
xor ecx, ecx
test edx, edx
jle 0x4211fd
mov eax, dword [esi + 8]
add eax, 4
cmp edi, dword [eax]
je 0x4211f5
inc ecx
add eax, 0x10
cmp ecx, edx
jl 0x4211e7
jmp 0x4211fd
mov dword [esp + 0x30], 1
inc ebx
add esi, 0x10
cmp ebx, ebp
jl 0x4211b0
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4212e0
mov ebp, dword [esp + 0x20]
xor ebx, ebx
test ebp, ebp
jle 0x4212e0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
jmp 0x421230
mov eax, dword [esi + 4]
cmp edi, eax
je 0x421271
cmp word [esi], 0xc
jne 0x421250
test eax, eax
je 0x421250
mov eax, dword [eax + 0x38]
push eax
mov ecx, edi
call fcn.0043ae10
test eax, eax
jne 0x421271
mov ax, word [esi]
cmp ax, 0x28
je 0x42127b
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x421267
cmp ax, 0x27
je 0x42127b
inc ebx
add esi, 0x10
cmp ebx, ebp
jl 0x421230
jmp 0x4212e0
mov dword [esp + 0x10], 1
jmp 0x4212e0
mov edx, dword [esp + 0x18]
shl ebx, 4
mov esi, dword [ebx + edx + 8]
add ebx, edx
mov ebp, esi
shl ebp, 4
lea ecx, [ebp + 0x10]
call fcn.004dc5a0
test esi, esi
mov edi, eax
mov dword [esp + 0x30], edi
je 0x4212b6
mov esi, dword [ebx + 0xc]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov word [edi + ebp], 0xd
mov dword [edi + ebp + 4], ecx
mov ecx, dword [ebx + 0xc]
call fcn.004dc710
mov eax, dword [ebx + 8]
inc eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 8], eax
jmp 0x4212e0
mov dword [esp + 0x2c], 1
mov ecx, dword [esp + 0x1c]
call fcn.004ecf70
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x421128
mov ecx, dword [esp + 0x34]
call fcn.004ecf70
test eax, eax
mov dword [esp + 0x34], eax
jne 0x4210e0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x421075
lea ecx, [esp + 0x44]
call fcn.004f6160
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x421516
mov ebp, dword [esp + 0x18]
add ebp, 4
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov ax, word [ebp - 4]
cmp ax, 0xd
jne 0x4213be
cmp dword [ebp], 0
je 0x421504
mov ecx, 0x58
call fcn.004dc5a0
test eax, eax
je 0x421377
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc980
mov esi, eax
jmp 0x421379
xor esi, esi
movzx eax, word [0x65fe50]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x676b68]
push ecx
push 0x1036
mov ecx, esi
call fcn.004f3fd0
mov edx, dword [ebp]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push edx
push 0x1037
mov ecx, esi
call fcn.004f3fd0
mov edx, dword [esp + 0x14]
mov ecx, esi
call dword [esp + 0x28]
jmp 0x421504
cmp ax, 0xc
jne 0x421406
cmp dword [ebp], 0
je 0x421504
mov ecx, 0x58
call fcn.004dc5a0
test eax, eax
je 0x4213f8
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc980
mov esi, eax
movzx eax, word [0x65fe3c]
jmp 0x421380
movzx eax, word [0x65fe3c]
xor esi, esi
jmp 0x421380
cmp ax, 0x26
jne 0x42143d
mov ecx, 0x58
call fcn.004dc5a0
test eax, eax
je 0x421434
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc980
mov esi, eax
mov eax, dword [0x65eee4]
jmp 0x42146d
mov eax, dword [0x65eee4]
xor esi, esi
jmp 0x42146d
cmp ax, 0x18
jne 0x421484
mov ecx, 0x58
call fcn.004dc5a0
test eax, eax
je 0x421466
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc980
mov esi, eax
jmp 0x421468
xor esi, esi
mov eax, dword [0x65ee74]
push eax
push 0x1036
mov ecx, esi
call fcn.004f3fd0
push 0x626ff1
jmp 0x4213a3
mov eax, dword [ebp + 4]
xor edi, edi
test eax, eax
jle 0x421504
xor ebx, ebx
nop
mov ecx, 0x58
call fcn.004dc5a0
test eax, eax
je 0x4214b3
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc980
mov esi, eax
jmp 0x4214b5
xor esi, esi
movzx eax, word [0x65fe50]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x676b68]
push ecx
push 0x1036
mov ecx, esi
call fcn.004f3fd0
mov edx, dword [ebp + 8]
mov eax, dword [edx + ebx + 4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
push eax
push 0x1037
mov ecx, esi
call fcn.004f3fd0
mov edx, dword [esp + 0x14]
mov ecx, esi
call dword [esp + 0x28]
mov eax, dword [ebp + 4]
inc edi
add ebx, 0x10
cmp edi, eax
jl 0x421490
mov eax, dword [esp + 0x2c]
add ebp, 0x10
dec eax
mov dword [esp + 0x2c], eax
jne 0x421340
mov edi, dword [esp + 0x20]
test edi, edi
jle 0x421532
mov esi, dword [esp + 0x18]
add esi, 0xc
mov ecx, dword [esi]
call fcn.004dc710
add esi, 0x10
dec edi
jne 0x421525
mov ecx, dword [esp + 0x18]
call fcn.004dc710
mov ecx, dword [esp + 0x40]
call fcn.00510990
lea ecx, [esp + 0x90]
call fcn.004e6380
lea ecx, [esp + 0x80]
call fcn.004e6380
lea ecx, [esp + 0x70]
call fcn.004e6380
lea ecx, [esp + 0x60]
call fcn.004e6380
lea ecx, [esp + 0x54]
call fcn.004e6380
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret