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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x5755c4]
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.0x429e46.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 0x429e35
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 0x429c93
test eax, eax
je 0x42a319
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.00429440
mov ecx, dword [esi + 0x190]
mov ebx, eax
mov edi, dword [esp + 0x24]
sub ecx, 1
je 0x429d07
sub ecx, 3
je 0x429ce3
sub ecx, 6
jne 0x429d1d
push edi
push dword [esp + 0x14]
lea eax, [esi + 0x1a0]
push eax
call fcn.0049cc80
jmp 0x429d1d
push edi
push dword [esp + 0x14]
push dword [esi + 0x19c]
push dword [esi + 0x198]
call fcn.00427b50
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], edx
jmp 0x429d1d
push edi
push dword [esp + 0x14]
push dword [esi + 0x194]
call fcn.00469970
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 0x42a325
mov ecx, dword [esp + 0x20]
cmp dword [ecx], 1
jne 0x429e20
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x429d63
xor eax, eax
jmp 0x429d79
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 0x429d90
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 0x429dc0
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.0049cc80
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 0x429c5a
test eax, eax
jne 0x429c5e
test edi, edi
je 0x42a360
jmp 0x429c5e
test ebx, ebx
je 0x42a356
cmp eax, 7
ja case.0x429e46.6
jmp dword [eax*4 + 0x42a378]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x429e7e
cmp ecx, 6
jae 0x429e69
mov al, byte [ebp]
cmp al, byte [ecx + 0x56db00]
jne 0x42a33c
mov al, byte [ebp]
inc ebp
mov byte [ecx + esi + 0x290], al
inc dword [esi + 4]
inc dword [edx]
jmp case.0x429e46.6
lea eax, [esi + 0x290]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.0042a560
test eax, eax
jne 0x42a362
lea eax, [esi + 0x208]
mov dword [esi], 5
push eax
call fcn.0049cc30
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.0x429e46.6
mov eax, dword [esi + 4]
test eax, eax
jne 0x429f5f
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 0x429f4d
push dword [esi + 0x2c]
lea eax, [esi + 0x291]
push dword [esi + 0x28]
push eax
call fcn.0042a8d0
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.0049cb10
push edi
call fcn.0049cc30
push dword [esi + 0xc]
push ebx
push 0xffffffffffffffff
call fcn.00469970
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 0x429c5e
mov edi, dword [esi + 0x14]
cmp eax, edi
je 0x429f90
sub edi, eax
cmp edi, ebx
jbe 0x429f6e
mov edi, ebx
push edi
add eax, 0x290
add eax, esi
push ebp
push eax
call fcn.0051ff80
mov edx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
add dword [edx], edi
add ebp, edi
jmp 0x429c5e
lea eax, [esi + 0x290]
push eax
lea edi, [esi + 0xf8]
push edi
call fcn.00429700
test eax, eax
jne 0x42a362
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.00429940
push edi
lea eax, [esi + 0x58]
push eax
call fcn.00429980
test eax, eax
jne 0x42a362
jmp 0x429c5a
mov eax, dword [esi + 8]
add eax, dword [esi + 0x18]
and eax, 3
or eax, 0
je 0x42a024
lea eax, [ecx + 1]
mov dword [edx], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
test al, al
je case.0x429e46.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00507712
add esp, 0x6c
ret 0x1c
movzx eax, word [esi + 0x10]
push eax
call fcn.00429bc0
mov ecx, dword [esi + 4]
mov edi, eax
sub eax, ecx
mov dword [esp + 0x1c], eax
je 0x42a06c
cmp eax, ebx
jbe 0x42a045
mov eax, ebx
mov dword [esp + 0x1c], ebx
push eax
lea eax, [ecx + 0x290]
add eax, esi
push ebp
push eax
call fcn.0051ff80
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 0x429c5e
lea eax, [esp + 0x38]
mov dword [esi], 5
push eax
lea eax, [esi + 0x190]
mov dword [esi + 4], 0
push eax
call fcn.00429890
mov edx, dword [esp + 0x14]
test eax, eax
je 0x429c5e
lea edx, [esi + 0x290]
lea ecx, [esp + 0x38]
sub edi, 4
jb 0x42a0b6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42a0bf
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42a0a5
cmp edi, 0xfffffffc
je 0x429c5a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42a00a
cmp edi, 0xfffffffd
je 0x429c5a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42a00a
cmp edi, 0xfffffffe
je 0x429c5a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42a00a
cmp edi, 0xffffffff
je 0x429c5a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x42a00a
jmp 0x429c5a
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x42a13d
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 0x42a00a
mov edx, dword [esp + 0x14]
jmp case.0x429e46.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 0x42a194
jb 0x42a153
cmp ecx, eax
jae 0x42a194
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x42a165
ja 0x42a163
cmp ebx, eax
jbe 0x42a165
mov ebx, eax
push ebx
push ebp
push dword [esi + 0x50]
call fcn.00469970
push ebx
mov dword [esi + 0x50], eax
lea eax, [esi + 0x208]
push ebp
push eax
call fcn.0049cc80
mov edx, dword [esp + 0x14]
add ebp, ebx
add dword [edx], ebx
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], 0
jmp 0x429c5e
and ecx, 3
or ecx, 0
je 0x42a1dc
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.00469970
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 0x42a00a
jmp 0x429c5e
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.0049cb10
lea edx, [esi + 0x270]
mov edi, 0x1c
lea ecx, [esp + 0x38]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42a00a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42a215
jmp 0x429c5a
cmp dword [esi + 4], 4
jae 0x42a250
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.0x429e46.6
mov eax, dword [esi + 0x50]
not eax
mov dword [esi], 3
cmp eax, dword [esi + 0x290]
mov dword [esi + 4], 0
jmp 0x42a004
mov eax, dword [esi + 4]
mov edi, 0xc
sub edi, eax
cmp edi, ebx
jbe 0x42a27d
mov edi, ebx
push edi
add eax, 0x290
add eax, esi
push ebp
push eax
call fcn.0051ff80
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.0x429e46.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.0042a460
test al, al
je 0x42a00a
jmp 0x429c5a
cmp byte [ebp], 0
je 0x42a306
test byte [esi + 0x40], 3
jne 0x42a33c
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.0x429e46.6
lea eax, [ecx + 1]
inc ebp
mov dword [edx], eax
add dword [esi + 0x40], 1
adc dword [esi + 0x44], 0
jmp case.0x429e46.6
mov eax, dword [esp + 0x20]
mov dword [eax], 2
jmp 0x42a360
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00507712
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.00507712
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.00507712
add esp, 0x6c
ret 0x1c