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

Disassembly:
sub esp, 0x2b0
mov ecx, 0x9e
push ebx
push esi
push edi
mov eax, dword [esp + 0x2c0]
mov esi, eax
mov byte [eax], 0
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.004204a0
push 2
push dword [esp + 0x2c8]
call fcn.004207e0
add esp, 0xc
mov ecx, dword [esp + 0x2c0]
test byte [ecx], 2
jne 0x420990
push ecx
call fcn.004201e0
push 1
push dword [esp + 0x2c8]
call fcn.004207e0
add esp, 0xc
mov edx, dword [esp + 0x2c0]
cmp byte [edx], 0
je 0x420c40
push edx
call fcn.004205f4
add esp, 4
jmp 0x420c40
lea eax, [esp + 0x3c]
push eax
call fcn.004201e0
push 1
lea ebx, [esp + 0x44]
push ebx
call fcn.004207e0
add esp, 0xc
test byte [esp + 0x3c], 1
jne 0x4209c9
push dword [esp + 0x2c0]
call fcn.00420307
add esp, 4
pop edi
pop esi
pop ebx
add esp, 0x2b0
ret
mov esi, dword [esp + 0x2c0]
xor ecx, ecx
mov dl, byte [esi + 1]
cmp dl, byte [esp + 0x3d]
je 0x4209e0
mov ecx, 1
xor edx, edx
mov edi, dword [esp + 0x2c0]
lea eax, [edx + edi]
mov bl, byte [eax + 2]
cmp bl, byte [esp + edx + 0x3e]
je 0x4209fa
mov ecx, 1
inc edx
cmp edx, 0x40
jb 0x4209e2
xor edx, edx
mov esi, dword [esp + 0x2c0]
lea edi, [edx + esi]
mov al, byte [edi + 0x42]
cmp al, byte [esp + edx + 0x7e]
je 0x420a1a
mov ecx, 1
inc edx
cmp edx, 5
jb 0x420a02
xor edx, edx
mov ebx, dword [esp + 0x2c0]
lea esi, [edx + ebx]
mov al, byte [esi + 0x47]
cmp al, byte [esp + edx + 0x83]
je 0x420a3d
mov ecx, 1
inc edx
cmp edx, 0x1d
jb 0x420a22
xor edx, edx
mov edi, dword [esp + 0x2c0]
lea ebx, [edx + edi]
mov al, byte [ebx + 0x64]
cmp al, byte [esp + edx + 0xa0]
je 0x420a60
mov ecx, 1
inc edx
cmp edx, 0x14
jb 0x420a45
xor edx, edx
mov esi, dword [esp + 0x2c0]
lea edi, [edx + esi]
mov bl, byte [edi + 0x78]
cmp bl, byte [esp + edx + 0xb4]
je 0x420a83
mov ecx, 1
inc edx
cmp edx, 0x200
jb 0x420a68
test cl, cl
je 0x420c33
push 8
lea edx, [esp + 0x18]
push edx
push dword [0x49e1e8]
call dword [0x49e1ec]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push esi
mov ebx, 0x1a
xor ecx, ecx
push edi
call fcn.0045996a
add ebx, 0x41
pop edi
pop esi
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x2c0], bl
mov ebx, 0x1a
adc ecx, 0
xor ecx, ecx
push esi
push edi
call fcn.0045996a
mov ebx, 0x1a
xor ecx, ecx
pop edi
pop esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
push esi
push edi
call fcn.0045996a
add ebx, 0x41
pop edi
pop esi
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x2c1], bl
mov ebx, 0x1a
adc ecx, 0
xor ecx, ecx
push esi
push edi
call fcn.0045996a
mov ebx, 0x1a
xor ecx, ecx
pop edi
pop esi
push esi
push edi
call fcn.0045996a
add ebx, 0x41
pop edi
pop esi
adc ecx, 0
xor edx, edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x2c2], bl
mov byte [esp + 0x2c3], dl
push ecx
lea ecx, [esp + 0x2c4]
push ecx
lea ecx, [esp + 0x3c]
call fcn.0042e9a0
mov dword [esp + 0x40], eax
mov edx, 0x4723f4
push edx
call fcn.0045a18c
add esp, 4
mov ecx, dword [esp + 0x40]
mov esi, eax
mov edi, dword [ecx + 4]
mov edx, dword [esp + 0x40]
lea edi, [esi + edi + 1]
xor ecx, ecx
sub edi, dword [edx]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
push edi
lea ecx, [esp + 0x2c]
call fcn.0042eac0
mov edx, dword [esp + 0x2c]
lea ecx, [esi + 0x4723f4]
mov byte [edx], 0
mov edx, 0x4723f4
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.0042870c
mov edx, dword [esp + 0x40]
push dword [edx + 4]
mov ecx, dword [esp + 0x44]
push dword [ecx]
lea ecx, [esp + 0x30]
call fcn.004288b0
mov edx, dword [esp + 0x28]
mov ecx, 0x4723f4
push edx
push ecx
call fcn.0045a040
neg eax
mov edx, dword [esp + 0x38]
sbb eax, eax
inc eax
mov byte [esp + 0x2cc], al
sub edx, dword [esp + 0x30]
push edx
push dword [esp + 0x34]
lea ecx, [esp + 0x40]
call fcn.00428728
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x3c]
push edx
push dword [esp + 0x40]
lea ecx, [esp + 0x4c]
call fcn.00428728
add esp, 0x14
cmp byte [esp + 0x2b8], 0
je 0x420c40
push dword [esp + 0x2c0]
call fcn.00420307
add esp, 4
jmp 0x420c40
mov eax, dword [esp + 0x2c0]
mov cl, byte [esp + 0x3c]
or byte [eax], cl
pop edi
pop esi
pop ebx
add esp, 0x2b0
ret