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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x5513d4]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
push ebx
mov ebx, dword [eax]
push ebp
mov ebp, dword [esp + 0x84]
push esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx]
mov dword [eax], 0
push edi
mov edi, dword [esp + 0x84]
mov dword [edx], 0
mov dword [esp + 0x34], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ebx
mov dword [ecx], 0
jmp case.0x429766.6
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [edx]
sub ebx, ecx
mov eax, dword [esi]
cmp eax, 6
jne 0x429755
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
sub eax, dword [ecx]
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x4295b3
test eax, eax
je 0x429c39
push dword [esp + 0x20]
lea eax, [esp + 0x20]
push dword [esp + 0x98]
push 0
push eax
push ebp
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esi + 0x58]
push eax
call fcn.00428d60
mov ecx, dword [esi + 0x190]
mov ebx, eax
mov edi, dword [esp + 0x24]
sub ecx, 1
je 0x429627
sub ecx, 3
je 0x429603
sub ecx, 6
jne 0x42963d
push edi
push dword [esp + 0x14]
lea eax, [esi + 0x1a0]
push eax
call fcn.0049bef0
jmp 0x42963d
push edi
push dword [esp + 0x14]
push dword [esi + 0x19c]
push dword [esi + 0x198]
call fcn.00427470
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], edx
jmp 0x42963d
push edi
push dword [esp + 0x14]
push dword [esi + 0x194]
call fcn.00468fb0
mov dword [esi + 0x194], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ebp, eax
mov ecx, dword [esp + 0x28]
add dword [edx], eax
add dword [esi + 0x18], eax
adc dword [esi + 0x1c], 0
add dword [ecx], edi
add dword [esp + 0x10], edi
add dword [esi + 0x20], edi
adc dword [esi + 0x24], 0
test ebx, ebx
jne 0x429c45
mov ecx, dword [esp + 0x20]
cmp dword [ecx], 1
jne 0x429740
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x429683
xor eax, eax
jmp 0x429699
dec ecx
mov eax, 0x55555556
imul ecx
mov eax, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shl eax, cl
mov edx, dword [esi + 0x14]
xor ecx, ecx
add edx, eax
adc ecx, ecx
add edx, dword [esi + 0x18]
adc ecx, dword [esi + 0x1c]
xor edi, edi
lea ebx, [ebx]
mov al, dl
or al, 0x80
shrd edx, ecx, 7
mov byte [esp + edi + 0x38], al
inc edi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x4296b0
mov edx, dword [esi + 0x20]
xor ebx, ebx
mov ecx, dword [esi + 0x24]
lea esi, [esp + 0x38]
and byte [esp + edi + 0x37], 0x7f
add esi, edi
lea esp, [esp]
mov al, dl
or al, 0x80
shrd edx, ecx, 7
mov byte [ebx + esi], al
inc ebx
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x4296e0
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x38]
add eax, edi
add edi, ebx
push edi
and byte [ebx + eax - 1], 0x7f
lea eax, [esp + 0x3c]
push eax
lea eax, [esi + 0x208]
push eax
call fcn.0049bef0
add dword [esi + 0x30], edi
mov dword [esi], 7
adc dword [esi + 0x34], 0
add dword [esi + 0x28], 1
mov dword [esi + 4], 0
adc dword [esi + 0x2c], 0
mov dword [esi + 8], 0
jmp 0x42957a
test eax, eax
jne 0x42957e
test edi, edi
je 0x429c80
jmp 0x42957e
test ebx, ebx
je 0x429c76
cmp eax, 7
ja case.0x429766.6
jmp dword [eax*4 + 0x429c98]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x42979e
cmp ecx, 6
jae 0x429789
mov al, byte [ebp]
cmp al, byte [ecx + 0x549b00]
jne 0x429c5c
mov al, byte [ebp]
inc ebp
mov byte [ecx + esi + 0x290], al
inc dword [esi + 4]
inc dword [edx]
jmp case.0x429766.6
lea eax, [esi + 0x290]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.00429e80
test eax, eax
jne 0x429c82
lea eax, [esi + 0x208]
mov dword [esi], 5
push eax
call fcn.0049bea0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 4], 0
jmp case.0x429766.6
mov eax, dword [esi + 4]
test eax, eax
jne 0x42987f
mov al, byte [ebp]
lea ebx, [esi + 0x290]
mov byte [ebx], al
inc ebp
inc dword [esi + 4]
inc dword [edx]
cmp byte [ebx], 0
jne 0x42986d
push dword [esi + 0x2c]
lea eax, [esi + 0x291]
push dword [esi + 0x28]
push eax
call fcn.0042a1f0
inc eax
mov dword [esi + 0x3c], 0
add dword [esi + 0x30], eax
lea edi, [esi + 0x208]
mov dword [esi + 0xc], eax
adc dword [esi + 0x34], 0
mov dword [esi + 0x38], eax
lea eax, [esi + 0x270]
push eax
push edi
call fcn.0049bd80
push edi
call fcn.0049bea0
push dword [esi + 0xc]
push ebx
push 0xffffffffffffffff
call fcn.00468fb0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
mov dword [esi], 1
movzx eax, byte [ebx]
lea eax, [eax*4 + 4]
mov dword [esi + 0x14], eax
jmp 0x42957e
mov edi, dword [esi + 0x14]
cmp eax, edi
je 0x4298b0
sub edi, eax
cmp edi, ebx
jbe 0x42988e
mov edi, ebx
push edi
add eax, 0x290
add eax, esi
push ebp
push eax
call fcn.00504fb0
mov edx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
add dword [edx], edi
add ebp, edi
jmp 0x42957e
lea eax, [esi + 0x290]
push eax
lea edi, [esi + 0xf8]
push edi
call fcn.00429020
test eax, eax
jne 0x429c82
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
movzx eax, word [esi + 0x10]
and eax, 0xf
mov dword [esi], 6
push eax
lea eax, [esi + 0x190]
push eax
call fcn.00429260
push edi
lea eax, [esi + 0x58]
push eax
call fcn.004292a0
test eax, eax
jne 0x429c82
jmp 0x42957a
mov eax, dword [esi + 8]
add eax, dword [esi + 0x18]
and eax, 3
or eax, 0
je 0x429944
lea eax, [ecx + 1]
mov dword [edx], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
test al, al
je case.0x429766.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00502f8e
add esp, 0x6c
ret 0x1c
movzx eax, word [esi + 0x10]
push eax
call fcn.004294e0
mov ecx, dword [esi + 4]
mov edi, eax
sub eax, ecx
mov dword [esp + 0x1c], eax
je 0x42998c
cmp eax, ebx
jbe 0x429965
mov eax, ebx
mov dword [esp + 0x1c], ebx
push eax
lea eax, [ecx + 0x290]
add eax, esi
push ebp
push eax
call fcn.00504fb0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x1c]
add dword [esi + 4], eax
add dword [edx], eax
add ebp, eax
jmp 0x42957e
lea eax, [esp + 0x38]
mov dword [esi], 5
push eax
lea eax, [esi + 0x190]
mov dword [esi + 4], 0
push eax
call fcn.004291b0
mov edx, dword [esp + 0x14]
test eax, eax
je 0x42957e
lea edx, [esi + 0x290]
lea ecx, [esp + 0x38]
sub edi, 4
jb 0x4299d6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4299df
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4299c5
cmp edi, 0xfffffffc
je 0x42957a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42992a
cmp edi, 0xfffffffd
je 0x42957a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42992a
cmp edi, 0xfffffffe
je 0x42957a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42992a
cmp edi, 0xffffffff
je 0x42957a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x42992a
jmp 0x42957a
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x429a5d
lea eax, [ecx + 1]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dl, byte [ebp]
inc ebp
mov cl, byte [eax + esi + 0x290]
inc eax
mov dword [esi + 4], eax
cmp dl, cl
jne 0x42992a
mov edx, dword [esp + 0x14]
jmp case.0x429766.6
mov edi, dword [esi + 0x3c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp edi, edx
ja 0x429ab4
jb 0x429a73
cmp ecx, eax
jae 0x429ab4
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x429a85
ja 0x429a83
cmp ebx, eax
jbe 0x429a85
mov ebx, eax
push ebx
push ebp
push dword [esi + 0x50]
call fcn.00468fb0
push ebx
mov dword [esi + 0x50], eax
lea eax, [esi + 0x208]
push ebp
push eax
call fcn.0049bef0
mov edx, dword [esp + 0x14]
add ebp, ebx
add dword [edx], ebx
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], 0
jmp 0x42957e
and ecx, 3
or ecx, 0
je 0x429afc
mov al, byte [ebp]
inc ebp
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push 1
push eax
push dword [esi + 0x50]
call fcn.00468fb0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
inc dword [edx]
add dword [esi + 0x38], 1
adc dword [esi + 0x3c], 0
add dword [esi + 0x30], 1
adc dword [esi + 0x34], 0
cmp byte [esp + 0x1b], 0
jne 0x42992a
jmp 0x42957e
add eax, 4
mov dword [esi], 2
mov dword [esi + 0x30], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esi + 0x208]
mov dword [esi + 4], 0
adc edx, 0
push eax
mov dword [esi + 0x34], edx
call fcn.0049bd80
lea edx, [esi + 0x270]
mov edi, 0x1c
lea ecx, [esp + 0x38]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42992a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x429b35
jmp 0x42957a
cmp dword [esi + 4], 4
jae 0x429b70
lea eax, [ecx + 1]
mov dword [edx], eax
mov ecx, dword [esi + 4]
mov al, byte [ebp]
mov byte [esi + ecx + 0x290], al
inc dword [esi + 4]
inc ebp
jmp case.0x429766.6
mov eax, dword [esi + 0x50]
not eax
mov dword [esi], 3
cmp eax, dword [esi + 0x290]
mov dword [esi + 4], 0
jmp 0x429924
mov eax, dword [esi + 4]
mov edi, 0xc
sub edi, eax
cmp edi, ebx
jbe 0x429b9d
mov edi, ebx
push edi
add eax, 0x290
add eax, esi
push ebp
push eax
call fcn.00504fb0
mov edx, dword [esp + 0x20]
add ebp, edi
add dword [esi + 4], edi
add esp, 0xc
add dword [edx], edi
cmp dword [esi + 4], 0xc
mov edi, dword [esp + 0x10]
jne case.0x429766.6
add dword [esi + 0x48], 1
lea eax, [esi + 0x290]
push eax
push dword [esi + 0x34]
movzx eax, word [esi + 0x10]
push dword [esi + 0x30]
adc dword [esi + 0x4c], 0
push eax
mov dword [esi], 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
call fcn.00429d80
test al, al
je 0x42992a
jmp 0x42957a
cmp byte [ebp], 0
je 0x429c26
test byte [esi + 0x40], 3
jne 0x429c5c
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.0x429766.6
lea eax, [ecx + 1]
inc ebp
mov dword [edx], eax
add dword [esi + 0x40], 1
adc dword [esi + 0x44], 0
jmp case.0x429766.6
mov eax, dword [esp + 0x20]
mov dword [eax], 2
jmp 0x429c80
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00502f8e
add esp, 0x6c
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0x11
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00502f8e
add esp, 0x6c
ret 0x1c
mov eax, dword [esp + 0x20]
mov dword [eax], 3
xor eax, eax
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00502f8e
add esp, 0x6c
ret 0x1c