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

Disassembly:
mov eax, 0xa8
call fcn.005e6090
push ebx
xor ebx, ebx
mov eax, 0x5f7544
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.00510980
mov ecx, dword [esi + 4]
mov dword [esp + 0x40], eax
push esi
lea eax, [esp + 0x54]
push eax
call fcn.00512c70
mov ecx, dword [esi + 4]
push 4
push ecx
xor edx, edx
lea ecx, [esp + 0x58]
call fcn.00432b90
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x94]
cmp eax, ebx
mov ebp, dword [edx + 0xc]
mov dword [esp + 0x3c], ebp
je 0x420d7c
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x40]
cmp dword [edx + 0x4c], 2
jne 0x420d6d
mov eax, dword [eax + 0xc]
push eax
mov ecx, ebp
call fcn.00408430
jmp 0x420d78
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.004edcf0
mov eax, dword [esp + 0x10]
xor edi, edi
cmp eax, ebx
je 0x420e18
mov ecx, ebp
call fcn.00401450
mov esi, eax
push ebx
mov ecx, esi
mov dword [esp + 0x28], esi
call fcn.004f30d0
test byte [esi + 0x10], 2
jne 0x420db9
mov edx, dword [esi]
push 0xe6
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe6
call fcn.004e8d40
mov edi, eax
cmp edi, ebx
je 0x420f70
test byte [edi + 0x10], 2
push ebx
push 0x39
jne 0x420de2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
jmp 0x420dea
mov ecx, dword [edi + 8]
call fcn.004e8b70
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
cmp edx, dword [eax + 0x38]
je 0x420e18
test byte [esi + 0x10], 2
jne 0x420e09
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.004e8eb0
mov edi, eax
cmp edi, ebx
jne 0x420dd0
cmp edi, ebx
je 0x420f70
push 0x31
mov ecx, edi
call fcn.004f3440
test eax, eax
jle 0x420f70
push 0x31
mov ecx, edi
call fcn.004f3440
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x20], eax
call fcn.004dc530
mov dword [esp + 0x18], eax
test byte [edi + 0x10], 2
jne 0x420e5b
mov edx, dword [edi]
push 0x31
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [edi + 8]
push 0x31
call fcn.004e8d40
mov esi, eax
test byte [edi + 0x10], 2
mov dword [esp + 0x10], esi
jne 0x420e7a
mov eax, dword [edi]
push 0x3a
mov ecx, edi
call dword [eax + 0x10]
mov ecx, dword [edi + 8]
push 0x3a
call fcn.004e8d40
cmp esi, ebx
mov ebp, eax
je 0x420f68
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov ax, word [edx]
cmp ax, 0xd
jne 0x420ebd
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 0x420f16
jmp 0x420f12
cmp ax, 0xc
jne 0x420ede
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 0x420f16
jmp 0x420f12
cmp ax, 0x49
jne 0x420eeb
mov word [esi], 0x26
jmp 0x420f12
cmp ax, 0x4a
jne 0x420ef8
mov word [esi], 0x27
jmp 0x420f0a
cmp ax, 0x48
jne 0x420f05
mov word [esi], 0x18
jmp 0x420f12
mov word [esi], 0x28
mov dword [esp + 0x1c], 1
inc ebx
add esi, 0x10
test byte [edi + 0x10], 2
jne 0x420f2b
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.004e8eb0
mov dword [esp + 0x10], eax
test byte [edi + 0x10], 2
jne 0x420f4d
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.004e8eb0
mov ebp, eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x420e92
test ebx, ebx
jne 0x420f97
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x420f86
mov ecx, 0x10
mov dword [esp + 0x20], 1
call fcn.004dc530
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 0x420fa4
call fcn.004f3110
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x60]
call fcn.004edd90
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x421296
push 0
lea ecx, [esp + 0x48]
call fcn.004f5dd0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov cx, word [edx + 0xa]
call fcn.00512aa0
test eax, eax
mov dword [esp + 0x24], eax
je 0x42128d
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.005114c0
test ax, ax
je 0x42127a
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.004eb050
mov ecx, esi
call fcn.004fb140
test eax, eax
mov dword [esp + 0x34], eax
je 0x42127a
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
call dword [edx + 0x78]
cmp eax, 0x17
jne 0x421265
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.004fb140
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ecx
je 0x421265
mov eax, dword [esp + 0x2c]
xor ebx, ebx
cmp eax, ebx
jne 0x4210b9
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0x101b
lea eax, [esp + 0x50]
push eax
call fcn.004ebad0
jmp 0x4210d1
lea ecx, [esp + 0x38]
push ecx
push 0xa
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], 1
call fcn.004f5f20
mov edx, dword [esp + 0x44]
cmp dword [edx], 2
je 0x421248
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0xc1f
lea eax, [esp + 0x50]
push eax
call fcn.004ebad0
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 0x421185
mov esi, dword [esp + 0x18]
add esi, 4
lea ebx, [ebx]
mov eax, dword [esi]
cmp edi, eax
je 0x4211e1
cmp word [esi - 4], 0xc
jne 0x421148
test eax, eax
je 0x421148
mov eax, dword [eax + 0x38]
push eax
mov ecx, edi
call fcn.0043adc0
test eax, eax
jne 0x4211e1
mov edx, dword [esi + 4]
xor ecx, ecx
test edx, edx
jle 0x42116d
mov eax, dword [esi + 8]
add eax, 4
cmp edi, dword [eax]
je 0x421165
inc ecx
add eax, 0x10
cmp ecx, edx
jl 0x421157
jmp 0x42116d
mov dword [esp + 0x30], 1
inc ebx
add esi, 0x10
cmp ebx, ebp
jl 0x421120
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x421250
mov ebp, dword [esp + 0x20]
xor ebx, ebx
test ebp, ebp
jle 0x421250
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
jmp 0x4211a0
mov eax, dword [esi + 4]
cmp edi, eax
je 0x4211e1
cmp word [esi], 0xc
jne 0x4211c0
test eax, eax
je 0x4211c0
mov eax, dword [eax + 0x38]
push eax
mov ecx, edi
call fcn.0043adc0
test eax, eax
jne 0x4211e1
mov ax, word [esi]
cmp ax, 0x28
je 0x4211eb
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4211d7
cmp ax, 0x27
je 0x4211eb
inc ebx
add esi, 0x10
cmp ebx, ebp
jl 0x4211a0
jmp 0x421250
mov dword [esp + 0x10], 1
jmp 0x421250
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.004dc530
test esi, esi
mov edi, eax
mov dword [esp + 0x30], edi
je 0x421226
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.004dc6a0
mov eax, dword [ebx + 8]
inc eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 8], eax
jmp 0x421250
mov dword [esp + 0x2c], 1
mov ecx, dword [esp + 0x1c]
call fcn.004ecf40
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x421098
mov ecx, dword [esp + 0x34]
call fcn.004ecf40
test eax, eax
mov dword [esp + 0x34], eax
jne 0x421050
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x420fe5
lea ecx, [esp + 0x44]
call fcn.004f5e70
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x421486
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 0x42132e
cmp dword [ebp], 0
je 0x421474
mov ecx, 0x58
call fcn.004dc530
test eax, eax
je 0x4212e7
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc8c0
mov esi, eax
jmp 0x4212e9
xor esi, esi
movzx eax, word [0x628e50]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x63c468]
push ecx
push 0x1036
mov ecx, esi
call fcn.004f3f50
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.004f3f50
mov edx, dword [esp + 0x14]
mov ecx, esi
call dword [esp + 0x28]
jmp 0x421474
cmp ax, 0xc
jne 0x421376
cmp dword [ebp], 0
je 0x421474
mov ecx, 0x58
call fcn.004dc530
test eax, eax
je 0x421368
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc8c0
mov esi, eax
movzx eax, word [0x628e3c]
jmp 0x4212f0
movzx eax, word [0x628e3c]
xor esi, esi
jmp 0x4212f0
cmp ax, 0x26
jne 0x4213ad
mov ecx, 0x58
call fcn.004dc530
test eax, eax
je 0x4213a4
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc8c0
mov esi, eax
mov eax, dword [0x627ee4]
jmp 0x4213dd
mov eax, dword [0x627ee4]
xor esi, esi
jmp 0x4213dd
cmp ax, 0x18
jne 0x4213f4
mov ecx, 0x58
call fcn.004dc530
test eax, eax
je 0x4213d6
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc8c0
mov esi, eax
jmp 0x4213d8
xor esi, esi
mov eax, dword [0x627e74]
push eax
push 0x1036
mov ecx, esi
call fcn.004f3f50
push 0x602fd1
jmp 0x421313
mov eax, dword [ebp + 4]
xor edi, edi
test eax, eax
jle 0x421474
xor ebx, ebx
nop
mov ecx, 0x58
call fcn.004dc530
test eax, eax
je 0x421423
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
push edx
push 0
mov ecx, eax
call fcn.004fc8c0
mov esi, eax
jmp 0x421425
xor esi, esi
movzx eax, word [0x628e50]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x63c468]
push ecx
push 0x1036
mov ecx, esi
call fcn.004f3f50
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.004f3f50
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 0x421400
mov eax, dword [esp + 0x2c]
add ebp, 0x10
dec eax
mov dword [esp + 0x2c], eax
jne 0x4212b0
mov edi, dword [esp + 0x20]
test edi, edi
jle 0x4214a2
mov esi, dword [esp + 0x18]
add esi, 0xc
mov ecx, dword [esi]
call fcn.004dc6a0
add esi, 0x10
dec edi
jne 0x421495
mov ecx, dword [esp + 0x18]
call fcn.004dc6a0
mov ecx, dword [esp + 0x40]
call fcn.00510970
lea ecx, [esp + 0x90]
call fcn.004e6350
lea ecx, [esp + 0x80]
call fcn.004e6350
lea ecx, [esp + 0x70]
call fcn.004e6350
lea ecx, [esp + 0x60]
call fcn.004e6350
lea ecx, [esp + 0x54]
call fcn.004e6350
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret