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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
mov esi, dword [eax]
push esi
call fcn.004111c1
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x42978a
add eax, 7
shr eax, 3
add eax, eax
add eax, eax
add eax, eax
xor ecx, ecx
mov dword [esp + 0x38], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004115d7
mov ecx, dword [esp + 0x38]
add esp, 4
lea edx, [ecx + ecx + 2]
push edx
push esi
push eax
mov dword [esp + 0x3c], eax
call fcn.00410e60
add esp, 0xc
push 4
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429794
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x42986a
cmp dword [eax], 1
jg 0x42979b
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [0x482644]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x13c]
test esi, esi
jne 0x429802
mov esi, dword [eax + 0x134]
test esi, esi
je 0x42986a
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x40a675
test edx, edx
je 0x4097b9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x4097a0
mov si, word [eax]
cmp si, word [ecx]
jne 0x40a671
add eax, 2
add ecx, 2
dec edx
jne 0x4097a0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x4097db
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004111dc
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.004111dc
add esp, 4
mov eax, esi
test eax, eax
je 0x429873
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xcc], edx
mov edx, dword [ebx + 4]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x148]
inc eax
mov dword [edi], eax
mov esi, dword [ebx + 4]
mov dword [esp + 0xdc], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + eax*4]
cmp word [esi + 8], 0x47
mov dword [esp + 0x30], 0x488088
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x48b874
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x4297f6
inc eax
mov dword [esp + 0x7c], edx
mov edx, eax
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x54], edx
mov dword [edi], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 8]
cmp ecx, 0x47
jge 0x40988c
inc eax
jmp 0x409878
sub ecx, 0x47
je 0x4298cf
dec ecx
jne 0x4298a6
test esi, esi
jne 0x4298c8
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x4298d5
cmp eax, ecx
jle 0x4298d5
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x409aa2
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x409aa2
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x70]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
xor edi, edi
xor bl, bl
cmp word [ecx + 8], di
je 0x4298de
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x40992e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x40a689
push 1
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429916
mov byte [eax], bl
mov edx, dword [esp + 0x64]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x68], esi
test bl, bl
jne 0x42991d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x429a27
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x429a3a
cmp eax, 0xa
je 0x429a5f
cmp eax, 5
je 0x429a76
cmp eax, 0xb
je 0x429a84
cmp eax, 0xc
je 0x429aa6
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x40a6e6
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004115d7
add esp, 4
test eax, eax
je 0x429c8c
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x429abd
mov edx, dword [esp + 0x20]
mov dword [ebx], edx
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [edi + esi*4], eax
inc esi
push ebx
mov dword [esp + 0x3c], esi
mov esi, dword [edi + esi*4 - 4]
push esi
lea eax, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.0040a780
test eax, eax
jne 0x42ae89
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax*4 + 4]
inc eax
cmp word [edx + 8], 0x41
mov dword [esp + 0x10], eax
je 0x429c93
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x409aa2
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov ecx, 0x40
cmp word [eax + 8], cx
jne 0x429ce2
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x429ce2
mov esi, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
cmp word [eax + 8], cx
jne 0x409a8f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x4098f0
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x42ae79
cmp eax, dword [esp + 0x5c]
jg 0x42ae79
cmp edx, dword [esp + 0x14]
jne 0x42ae79
mov ebx, dword [esp + 0xcc]
xor esi, esi
xor eax, eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
cmp ebx, esi
jl 0x429cf4
cmp byte [0x4a7f3d], al
jne 0x429cfd
push 0xc
call fcn.004115d7
add esp, 4
cmp eax, esi
je 0x429da0
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x429d1e
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x429d26
mov dword [edi], esi
mov ecx, dword [0x4a7f38]
mov dword [edi + 8], ecx
mov dword [0x4a7f38], edi
mov eax, dword [esp + 0x48]
inc dword [0x4a7f34]
cmp eax, esi
jne 0x429da7
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x409fd9
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x409780
jmp 0x42986a
add eax, eax
cmp eax, 4
jae 0x40a695
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004115d7
mov edx, dword [esp + 0x68]
add esp, 4
lea ecx, [esi*4]
push ecx
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.00410e60
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.004111dc
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x40993e
add eax, eax
cmp eax, 4
jae 0x40a6f2
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004115d7
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00410e60
add esp, 0xc
push ebx
call fcn.004111dc
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x4099c3
pop ebx
pop edi
pop esi
leave
ret
sar edi, cl
push 0
push 0x18
push ebx
push edi
call fcn.00432cd8
xchg ebp, eax
add byte [eax], al
mov ecx, eax
test edx, edx
jl 0x4297c8
jg 0x4297a3
test ecx, ecx
je 0x4297be
mov eax, dword [esi + 0x18]
add eax, ecx
push 7
cdq
pop edi
idiv edi
add dword [esi + 0xc], ecx
mov dword [esi + 0x18], edx
add dword [esi + 0x1c], ecx
xor eax, eax
jmp 0x429602
test edx, edx
jg 0x4297b7
jl 0x4297c8
test ecx, ecx
jae 0x4297b7
mov eax, dword [esi + 0x18]
lea eax, [ecx + eax + 7]
cdq
push 7
pop edi
idiv edi
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x18], edx
test eax, eax
jg 0x4297b4
add ecx, 0x16d
add dword [esi + 0x1c], ecx
add eax, 0x1f
dec dword [esi + 0x14]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xb
jmp 0x4297b7
adc byte [ebx], cl
add byte [eax], al
add bl, ch
mov edx, 0x57575757
push edi
call fcn.0042bdfb
int3
push 0xa
cdq
pop ebx
idiv ebx
add edx, 0x30
mov word [ecx], dx
add ecx, 2
dec dword [esi]
mov edx, dword [esi]
test eax, eax
jle 0x429877
cmp edx, 1
ja 0x42985b
cli
add dword [edi - 0x1c], esi
pop ebx
mov eax, dword [edi]
mov dword [edi], ecx
sub ecx, 2
movzx edx, word [ecx]
mov si, word [eax]
mov word [ecx], si
mov word [eax], dx
sub ecx, 2
add eax, 2
cmp eax, ecx
jb 0x42987f
pop esi
ret
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
sub eax, 0
push ebx
mov ebx, edx
push edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ecx
je 0x4298da
dec eax
je 0x4298d2
mov edi, dword [ecx + 0x160]
jmp 0x4298e0
add bl, ch
push cs
mov edi, dword [ecx + 0x15c]
jmp 0x4298e0
add dword [eax], eax
add bl, ch
push es
mov edi, dword [ecx + 0x158]
add byte [eax], al
cmp dword [ecx + 0xb0], 1
je 0x429a45
cmp dword [ebp + 0xc], 2
mov eax, dword [0x482348]
jne 0x4298fd
mov eax, dword [0x482344]
mov ecx, dword [ebp - 0x24]
mov edx, 0x76c
add dx, word [ecx + 0x14]
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x14], dx
mov dx, word [ecx + 0x10]
inc dx
mov word [ebp - 0x12], dx
mov dx, word [ecx + 0xc]
mov word [ebp - 0xe], dx
or al, 0x66
mov dword [ebp - 0xe], edx
mov dx, word [ecx + 8]
mov word [ebp - 0xc], dx
mov dx, word [ecx + 4]
mov cx, word [ecx]
mov word [ebp - 8], cx
xor ecx, ecx
push ecx
push ecx
push edi
mov word [ebp - 0xa], dx
lea edx, [ebp - 0x14]
push edx
push ecx
mov word [ebp - 6], cx
mov ecx, dword [ebp - 0x20]
push dword [ecx + 0xac]
call eax
mov dword [ebp - 0x30], eax
test eax, eax
je 0x429a45
lea eax, [eax + eax + 8]
cmp eax, 0x400
ja 0x42997b
call fcn.00432ea8
mov eax, esp
test eax, eax
je 0x42998f
mov dword [eax], 0xcccc
jmp 0x42998c
push eax
call fcn.004274e3
pop ecx
test eax, eax
je 0x42998f
mov dword [eax], 0xdddd
add eax, 8
mov dword [ebp - 0x18], eax
test eax, eax
je 0x429a45
push dword [ebp - 0x30]
mov ebx, eax
push ebx
push edi
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x20]
push 0
push dword [eax + 0xac]
call dword [ebp - 0x1c]
dec eax
test eax, eax
jle 0x4299d5
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0
jbe 0x4299d5
mov di, word [ebx]
mov edx, dword [esi]
mov word [edx], di
add dword [esi], 2
add ebx, 2
dec dword [ecx]
dec eax
test eax, eax
jg 0x4299bb
push dword [ebp - 0x18]
call fcn.00429808
pop ecx
xor eax, eax
inc eax
lea esp, [ebp - 0x38]
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042e130
leave
ret
xor edx, edx
cmp dword [ebx], edx
je 0x4299de
mov dword [ebp - 0x18], edx
mov eax, edi
add eax, 2
inc edx
cmp word [eax], cx
je 0x4299fd
mov dword [ebp - 0x1c], eax
movzx eax, cx
cmp eax, 0x64
jg 0x429b32
je 0x429b06
cmp eax, 0x27
je 0x429ac1
cmp eax, 0x41
je 0x429a8d
cmp eax, 0x48
je 0x429a77
cmp eax, 0x4d
je 0x429a4f
cmp eax, 0x61
je 0x429a8d
mov eax, dword [esi]
mov word [eax], cx
add dword [esi], 2
add edi, 2
dec dword [ebx]
movzx ecx, word [edi]
test cx, cx
jne 0x4299f2
jmp 0x4299de
dec edx
je 0x429a69
dec edx
je 0x429a70
dec edx
je 0x429a62
dec edx
jne 0x429a38
push 0x42
jmp 0x429bff
add dword [eax], eax
add byte [edx + 0x62], ch
push 0x62
jmp 0x429bff
mov dword [ebp - 0x18], 1
push 0x6d
jmp 0x429bff
add byte [edx + 0x74], cl
add eax, 0xeb09744a
mov ecx, 0x1e845c7
add byte [eax], al
add byte [edx + 0x48], ch
dec edx
je 0x429a7f
dec edx
je 0x429a86
jmp 0x429a38
mov dword [ebp - 0x18], 1
add byte [eax], al
push 0x48
jmp 0x429bff
push 0x482a74
push edi
call fcn.004253d3
pop ecx
pop ecx
test eax, eax
jne 0x429aa3
add edi, 0xa
jmp 0x429ab7
push 0x482a6c
push edi
call fcn.004253d3
pop ecx
dec eax
add byte [edi - 0x18], dl
and eax, 0x59ffffb9
pop ecx
test eax, eax
jne 0x429aba
add edi, 6
mov dword [ebp - 0x1c], edi
push 0x70
jmp 0x429bff
add dword ds:[eax], eax
add byte [ebp - 0x3d09a8c4], cl
add dword [edi], ecx
test byte [eax - 1], bh
invalid
lea edi, [edi + edx*2]
test dl, 1
je 0x429a45
movzx eax, word [edi]
test ax, ax
je 0x4299de
cmp dword [ebx], 0
je 0x429a45
add edi, 2
cmp ax, 0x27
je 0x429a45
mov ecx, dword [esi]
mov word [ecx], ax
add dword [esi], 2
dec dword [ebx]
movzx eax, word [edi]
test ax, ax
jne 0x429ad9
jmp 0x429a45
dec edx
je 0x429b24
dec edx
je 0x429b2b
dec edx
je 0x429b1d
dec edx
jne 0x429a38
push 0x41
jmp 0x429bff
push 0x61
jmp 0x429bff
mov dword [ebp - 0x18], 1
push 0x64
jmp 0x429bff
sub eax, 0x68
je 0x429beb
sub eax, 5
je 0x429bd5
sub eax, 6
je 0x429bbf
dec eax
je 0x429b6f
sub eax, 5
jne 0x429a38
dec edx
dec edx
je 0x429b68
dec edx
dec edx
jne 0x429a38
push 0x59
jmp 0x429bff
push 0x79
jmp 0x429bff
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0xb
mov eax, dword [ebp - 0x20]
jg 0x429b83
mov ecx, dword [eax + 0x150]
jmp 0x429b89
mov ecx, dword [eax + 0x154]
cmp edx, 1
jne 0x429bb5
mov eax, dword [ebx]
test eax, eax
je 0x429bb5
mov eax, dword [esi]
mov cx, word [ecx]
mov word [eax], cx
add dword [esi], 2
dec dword [ebx]
jmp 0x429c1b
cmp dword [ebx], 0
jbe 0x429c1b
mov edx, dword [esi]
mov word [edx], ax
add dword [esi], 2
add ecx, 2
dec dword [ebx]
movzx eax, word [ecx]
test ax, ax
jne 0x429ba3
jmp 0x429c1b
dec edx
je 0x429bca
dec edx
je 0x429bd1
jmp 0x429a38
mov dword [ebp - 0x18], 1
push 0x53
jmp 0x429bff
dec edx
je 0x429be0
dec edx
je 0x429be7
jmp 0x429a38
mov dword [ebp - 0x18], 1
push 0x4d
jmp 0x429bff
dec edx
je 0x429bf6
dec edx
je 0x429bfd
jmp 0x429a38
mov dword [ebp - 0x18], 1
push 0x49
pop eax
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push ebx
push esi
push dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.00429c8a
add esp, 0x1c
test eax, eax
je 0x429c23
mov edi, dword [ebp - 0x1c]
jmp 0x429a45
xor eax, eax
jmp 0x4299e1
push ebp
mov ebp, esp
movzx eax, word [ebp + 0xc]
push esi
push edi
cmp eax, 0x59
jg 0x429e86
je 0x429e4d
cmp eax, 0x49
jg 0x429d8a
je 0x429d5b
sub eax, 4
je 0x42a0f1
sub eax, 9
je 0x42a0f1
sub eax, 0x18
je 0x429d43
sub eax, 0x1c
je 0x429d1d
dec eax
je 0x429cf7
sub eax, 6
jne 0x429fab
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
js 0x429f9b
ror byte [edi], 0x88
mov dl, 2
add byte [eax], al
cmp eax, 0x17
add al, byte [eax]
add byte [ebx + 0x508b1045], cl
adc byte [ebp - 0x6977f02e], al
add al, byte [eax]
add byte [ebx - 0x70f0f406], al
lea eax, [edx]
add byte [eax], al
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x10]
test edx, edx
js 0x429f9b
cmp edx, 0xb
jg 0x429f9b
mov esi, dword [ebp + 0x1c]
mov edx, dword [esi + edx*4 + 0x120]
jmp 0x42a0e6
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x18]
test edx, edx
inc ebp
adc byte [ebx - 0x2d7ae7b0], cl
js 0x429f9b
mov byte [eax + 2], dh
add byte [eax], al
cmp edx, 6
jg 0x429f9b
mov esi, dword [ebp + 0x1c]
mov edx, dword [esi + edx*4 + 0xd4]
jmp 0x42a0e6
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push 0x25
pop edx
mov word [ecx], dx
add dword [eax], 2
mov eax, dword [ebp + 0x18]
dec dword [eax]
jmp 0x42a0f1
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
js 0x429f9b
cmp eax, 0x17
jg 0x429f9b
push 0xc
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x429d7e
push ecx
pop edx
push dword [ebp + 0x20]
push dword [ebp + 0x18]
sub eax, 0x4d
je 0x429e37
push 6
pop edx
sub eax, edx
je 0x429e30
push 2
pop esi
sub eax, esi
je 0x429de0
sub eax, esi
je 0x429dbf
dec eax
jne 0x429fab
push dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0x14]
jmp 0x429f52
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
js 0x429f9b
cmp ecx, edx
jg 0x429f9b
test ecx, ecx
jne 0x429ddd
mov ecx, edx
jmp 0x429df6
dec ecx
jmp 0x429df6
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
js 0x429f9b
cmp ecx, edx
jg 0x429f9b
mov edx, dword [eax + 0x1c]
test edx, edx
js 0x429f9b
cmp edx, 0x16d
jg 0x429f9b
cmp edx, ecx
jge 0x429e15
xor eax, eax
jmp 0x429e22
mov eax, edx
push 7
cdq
pop edi
idiv edi
cmp edx, ecx
jl 0x429e22
inc eax
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push eax
mov eax, esi
jmp 0x429f04
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
jmp 0x429e3d
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x14]
cmp ecx, 0xfffff894
jl 0x429f9b
cmp ecx, 0x1fa3
jg 0x429f9b
push 0x64
mov eax, ecx
cdq
pop ecx
idiv ecx
push dword [ebp + 0x20]
push dword [ebp + 0x18]
add eax, 0x13
imul eax, eax, 0x64
add eax, edx
push eax
push 4
jmp 0x429f03
cmp eax, 0x6d
jg 0x429fd6
je 0x429fc1
sub eax, 0x5a
je 0x429ff5
sub eax, 7
je 0x429f8c
dec eax
je 0x429f6e
dec eax
je 0x429f14
dec eax
je 0x429ee2
sub eax, 6
jne 0x429fab
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
js 0x429f9b
cmp eax, 0x16d
jg 0x429f9b
push dword [ebp + 0x20]
inc eax
push dword [ebp + 0x18]
push eax
push 3
jmp 0x429f03
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
cmp eax, 1
jl 0x429f9b
cmp eax, 0x1f
jg 0x429f9b
cmp dword [ebp + 0x20], 0
mov edi, dword [ebp + 0x18]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x14]
mov edx, edi
je 0x429f6a
push 1
push dword [ebp + 8]
push 0
jmp 0x429f2a
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x10]
test eax, eax
sub eax, 0x70
je 0x42a0b9
sub eax, 7
je 0x42a093
dec eax
je 0x42a073
dec eax
je 0x42a054
dec eax
jne 0x429fab
call fcn.0043296d
push dword [ebp + 8]
cmp dword [ebp + 0x20], 0
push dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
js 0x429f9b
cmp eax, 0x17
jg 0x429f9b
mov edx, dword [ebp + 0x1c]
cmp eax, 0xb
jg 0x42a0e0
mov edx, dword [edx + 0x150]
jmp 0x42a0e6
and byte [edx - 0x18], dl
fdivr dword [edi - 0x3b7c0001]
or al, 0x8a
inc ebx
add dword [ebx - 0x3f7bfd3d], eax