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

Disassembly:
push 0xffffffffffffffff
push 0x494f10
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4cb08c]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cb08c]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ebx, ecx
mov edi, edx
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], edi
call fcn.0041e480
add esp, 4
lea esi, [esp + 0x50]
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.0041d8e0
mov esi, ebp
mov dword [esp + 0x78], 0
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1e], 0
call fcn.00437d00
test al, al
jne 0x435625
cmp byte [ebp + 8], al
jne 0x4355ff
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x4355f4
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4355e3
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4355e3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4355ea
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x4355f4
mov byte [ebp + 9], al
jmp 0x4355fb
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x2b
mov esi, ebp
jne 0x43560c
mov byte [ebx], 0x2b
jmp 0x435619
call fcn.00436650
cmp al, 0x2d
jne 0x435625
mov byte [ebx], al
mov esi, ebp
add ebx, 1
mov dword [esp + 0x18], ebx
call fcn.004366a0
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x54]
xor eax, eax
cmp ecx, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x17], 0
mov eax, edx
jae 0x435647
lea eax, [esp + 0x54]
cmp byte [eax], 0x7f
je 0x435941
cmp ecx, 0x10
mov eax, edx
jae 0x43565b
lea eax, [esp + 0x54]
cmp byte [eax], 0
jle 0x435941
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov byte [esp + 0x1f], al
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
mov dword [esp + 0x48], 1
mov byte [esp + 0x39], 0
mov edi, dword [esp + 0x28]
mov esi, ebp
mov byte [esp + 0x78], 1
xor ebx, ebx
call fcn.00437d00
test al, al
jne 0x435847
cmp byte [ebp + 8], 0
jne 0x4356e7
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x4356dc
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4356cb
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4356cb
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4356d2
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x4356dc
mov byte [ebp + 9], al
jmp 0x4356e3
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x30
jl 0x4357bd
cmp byte [ebp + 8], 0
jne 0x435731
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x435726
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x435715
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x435715
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x43571c
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x435726
mov byte [ebp + 9], al
jmp 0x43572d
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x39
jg 0x4357bd
mov edi, dword [esp + 0x24]
cmp edi, 0x24
mov byte [esp + 0x17], 1
jl 0x435750
add dword [esp + 0x20], 1
jmp 0x43577a
mov esi, ebp
call fcn.00436650
cmp al, 0x30
jne 0x43575f
test edi, edi
je 0x43577a
mov esi, ebp
call fcn.00436650
mov ecx, dword [esp + 0x18]
mov byte [ecx], al
add ecx, 1
add edi, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edi
cmp ebx, dword [esp + 0x48]
jbe 0x435785
call fcn.00471ad5
mov eax, dword [esp + 0x38]
mov esi, 0x10
cmp dword [esp + 0x4c], esi
jae 0x435798
lea eax, [esp + 0x38]
cmp byte [eax + ebx], 0x7f
je 0x435801
cmp ebx, dword [esp + 0x48]
jbe 0x4357a9
call fcn.00471ad5
cmp dword [esp + 0x4c], esi
mov eax, dword [esp + 0x38]
jae 0x4357b7
lea eax, [esp + 0x38]
add byte [eax + ebx], 1
jmp 0x435801
cmp ebx, dword [esp + 0x48]
jbe 0x4357c8
call fcn.00471ad5
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x4357d7
lea eax, [esp + 0x38]
cmp byte [eax + ebx], 0
je 0x435819
cmp byte [esp + 0x1f], 0
je 0x435819
mov esi, ebp
call fcn.00436650
cmp al, byte [esp + 0x1f]
jne 0x435819
push 0
push 1
lea ecx, [esp + 0x3c]
call fcn.00409a80
add ebx, 1
mov esi, ebp
call fcn.004366a0
mov edi, dword [esp + 0x28]
call fcn.00437d00
test al, al
je 0x4356a7
test ebx, ebx
je 0x435847
cmp ebx, dword [esp + 0x48]
jbe 0x435828
call fcn.00471ad5
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x435837
lea eax, [esp + 0x38]
cmp byte [eax + ebx], 0
jle 0x435842
add ebx, 1
jmp 0x435847
mov byte [esp + 0x1e], 1
mov esi, dword [esp + 0x54]
mov edi, 0x10
cmp dword [esp + 0x68], edi
jae 0x43585a
lea esi, [esp + 0x54]
cmp byte [esp + 0x1e], 0
jne 0x4358c3
test ebx, ebx
jbe 0x4358c3
cmp byte [esi], 0x7f
je 0x4358c3
sub ebx, 1
je 0x43588f
cmp ebx, dword [esp + 0x48]
jbe 0x43587a
call fcn.00471ad5
cmp dword [esp + 0x4c], edi
mov eax, dword [esp + 0x38]
jae 0x435888
lea eax, [esp + 0x38]
mov cl, byte [esi]
cmp cl, byte [eax + ebx]
jne 0x4358be
test ebx, ebx
jne 0x4358b3
cmp ebx, dword [esp + 0x48]
jbe 0x43589e
call fcn.00471ad5
cmp dword [esp + 0x4c], edi
mov eax, dword [esp + 0x38]
jae 0x4358ac
lea eax, [esp + 0x38]
mov dl, byte [esi]
cmp dl, byte [eax + ebx]
jl 0x4358be
cmp byte [esi + 1], 0
jle 0x435861
add esi, 1
jmp 0x435861
mov byte [esp + 0x1e], 1
mov byte [esp + 0x78], 0
cmp dword [esp + 0x4c], edi
jb 0x4358db
mov eax, dword [esp + 0x38]
push eax
call fcn.004716d0
add esp, 4
cmp byte [esp + 0x17], 0
je 0x4358f8
xor ebx, ebx
cmp dword [esp + 0x24], ebx
jne 0x4358f8
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
add eax, 1
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x28]
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x435b01
cmp byte [ebp + 8], al
jne 0x435a8d
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x435a82
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x435a71
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x435a71
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435a78
mov edi, dword [esp + 0x28]
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x4358fc
xor ebx, ebx
cmp byte [ebp + 8], 0
jne 0x43598c
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x435985
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x435974
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x435974
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x43597b
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435985
mov byte [ebp + 9], al
jmp 0x435988
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x30
jl 0x4358db
cmp byte [ebp + 8], 0
jne 0x4359d0
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x4359c9
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4359b8
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4359b8
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4359bf
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4359c9
mov byte [ebp + 9], al
jmp 0x4359cc
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x39
jg 0x4358db
mov edi, dword [esp + 0x24]
cmp edi, 0x24
jl 0x4359ea
add dword [esp + 0x20], 1
jmp 0x435a14
mov esi, ebp
call fcn.00436650
cmp al, 0x30
jne 0x4359f9
cmp edi, ebx
je 0x435a14
mov esi, ebp
call fcn.00436650
mov ecx, dword [esp + 0x18]
mov byte [ecx], al
add ecx, 1
add edi, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edi
mov ecx, dword [ebp + 4]
cmp ecx, ebx
mov byte [esp + 0x17], 1
je 0x435a52
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x435a40
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x435a40
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435a47
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435a52
mov byte [ebp + 8], 0
jmp 0x435a59
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
mov edi, dword [esp + 0x28]
mov esi, ebp
call fcn.00437d00
test al, al
je 0x435952
jmp 0x4358e4
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435a82
mov byte [ebp + 9], al
jmp 0x435a89
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov bl, byte [ebp + 9]
call eax
cmp bl, al
jne 0x435afd
call fcn.004734ff
mov ecx, dword [eax]
mov eax, dword [esp + 0x18]
mov dl, byte [ecx]
mov byte [eax], dl
mov ecx, dword [ebp + 4]
add eax, 1
test ecx, ecx
mov dword [esp + 0x18], eax
je 0x435af2
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x435ae0
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x435ae0
mov eax, edx
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435ae7
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435af2
mov byte [ebp + 8], 0
jmp 0x435afd
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x435bdb
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x435bc1
cmp byte [ebp + 8], 0
jne 0x435b5c
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x435b51
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x435b40
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x435b40
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435b47
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435b51
mov byte [ebp + 9], al
jmp 0x435b58
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x30
jne 0x435bc1
mov ecx, dword [ebp + 4]
sub dword [esp + 0x20], 1
test ecx, ecx
mov byte [esp + 0x17], 1
je 0x435ba7
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x435b95
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x435b95
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435b9c
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435ba7
mov byte [ebp + 8], 0
jmp 0x435bb2
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
mov esi, ebp
call fcn.00437d00
test al, al
je 0x435b1c
cmp dword [esp + 0x20], 0
jge 0x435bdb
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
add eax, 1
add dword [esp + 0x20], 1
mov dword [esp + 0x18], eax
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x435d1c
xor esi, esi
cmp byte [ebp + 8], 0
jne 0x435c26
mov ecx, dword [ebp + 4]
cmp ecx, esi
je 0x435c1f
mov eax, dword [ecx + 0x20]
cmp dword [eax], esi
je 0x435c0e
mov edx, dword [ecx + 0x30]
cmp dword [edx], esi
jle 0x435c0e
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435c15
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435c1f
mov byte [ebp + 9], al
jmp 0x435c22
mov dword [ebp + 4], esi
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x30
jl 0x435d1c
cmp byte [ebp + 8], 0
jne 0x435c6a
mov ecx, dword [ebp + 4]
cmp ecx, esi
je 0x435c63
mov eax, dword [ecx + 0x20]
cmp dword [eax], esi
je 0x435c52
mov edx, dword [ecx + 0x30]
cmp dword [edx], esi
jle 0x435c52
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435c59
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435c63
mov byte [ebp + 9], al
jmp 0x435c66
mov dword [ebp + 4], esi
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x39
jg 0x435d1c
cmp ebx, 0x24
jge 0x435cc6
cmp byte [ebp + 8], 0
jne 0x435cb3
mov ecx, dword [ebp + 4]
cmp ecx, esi
je 0x435cac
mov eax, dword [ecx + 0x20]
cmp dword [eax], esi
je 0x435c9b
mov edx, dword [ecx + 0x30]
cmp dword [edx], esi
jle 0x435c9b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435ca2
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435cac
mov byte [ebp + 9], al
jmp 0x435caf
mov dword [ebp + 4], esi
mov byte [ebp + 8], 1
mov eax, dword [esp + 0x18]
mov cl, byte [ebp + 9]
mov byte [eax], cl
add eax, 1
mov dword [esp + 0x18], eax
add ebx, 1
mov ecx, dword [ebp + 4]
cmp ecx, esi
mov byte [esp + 0x17], 1
je 0x435d04
mov edx, dword [ecx + 0x20]
cmp dword [edx], esi
je 0x435cf2
mov eax, dword [ecx + 0x30]
cmp dword [eax], esi
jle 0x435cf2
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435cf9
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435d04
mov byte [ebp + 8], 0
jmp 0x435d0b
mov dword [ebp + 4], esi
mov byte [ebp + 8], 1
mov esi, ebp
call fcn.00437d00
test al, al
je 0x435bea
jmp 0x435d27
cmp byte [esp + 0x17], 0
je 0x43613d
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x43613d
cmp byte [ebp + 8], al
jne 0x435d75
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x435d6a
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x435d59
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x435d59
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435d60
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435d6a
mov byte [ebp + 9], al
jmp 0x435d71
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x65
je 0x435dc5
cmp byte [ebp + 8], 0
jne 0x435dbb
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x435db0
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x435d9f
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x435d9f
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435da6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435db0
mov byte [ebp + 9], al
jmp 0x435db7
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x45
jne 0x43613d
mov ebx, dword [esp + 0x18]
mov byte [ebx], 0x65
mov ecx, dword [ebp + 4]
add ebx, 1
test ecx, ecx
mov dword [esp + 0x18], ebx
je 0x435e0e
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x435dfc
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x435dfc
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435e03
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435e0e
mov byte [ebp + 8], 0
jmp 0x435e19
mov dword [ebp + 4], 0
mov byte [ebp + 8], 1
mov esi, ebp
mov byte [esp + 0x17], 0
mov dword [esp + 0x24], 0
call fcn.00437d00
test al, al
jne 0x435f3e
xor esi, esi
cmp byte [ebp + 8], 0
jne 0x435e71
mov ecx, dword [ebp + 4]
cmp ecx, esi
je 0x435e6a
mov eax, dword [ecx + 0x20]
cmp dword [eax], esi
je 0x435e59
mov edx, dword [ecx + 0x30]
cmp dword [edx], esi
jle 0x435e59
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435e60
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435e6a
mov byte [ebp + 9], al
jmp 0x435e6d
mov dword [ebp + 4], esi
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x2b
jne 0x435eb4
mov byte [ebx], 0x2b
mov ecx, dword [ebp + 4]
add ebx, 1
cmp ecx, esi
mov dword [esp + 0x18], ebx
je 0x435f37
mov edx, dword [ecx + 0x20]
cmp dword [edx], esi
je 0x435f25
mov eax, dword [ecx + 0x30]
cmp dword [eax], esi
jle 0x435f25
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435f2c
cmp byte [ebp + 8], 0
jne 0x435eee
mov ecx, dword [ebp + 4]
cmp ecx, esi
je 0x435ee7
mov eax, dword [ecx + 0x20]
cmp dword [eax], esi
je 0x435ed6
mov edx, dword [ecx + 0x30]
cmp dword [edx], esi
jle 0x435ed6
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435edd
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435ee7
mov byte [ebp + 9], al
jmp 0x435eea
mov dword [ebp + 4], esi
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x2d
jne 0x435f3e
mov byte [ebx], 0x2d
mov ecx, dword [ebp + 4]
add ebx, 1
cmp ecx, esi
mov dword [esp + 0x18], ebx
je 0x435f37
mov edx, dword [ecx + 0x20]
cmp dword [edx], esi
je 0x435f25
mov eax, dword [ecx + 0x30]
cmp dword [eax], esi
jle 0x435f25
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435f2c
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435f37
mov byte [ebp + 8], 0
jmp 0x435f3e
mov byte [ebp + 8], 1
mov dword [ebp + 4], esi
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x435ffa
xor ebx, ebx
cmp byte [ebp + 8], 0
jne 0x435f89
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x435f82
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x435f71
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x435f71
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x435f78
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x435f82
mov byte [ebp + 9], al
jmp 0x435f85
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x30
jne 0x435fe5
mov ecx, dword [ebp + 4]
cmp ecx, ebx
mov byte [esp + 0x17], 1
je 0x435fcd
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x435fbb
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x435fbb
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x435fc2
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x435fcd
mov byte [ebp + 8], 0
jmp 0x435fd4
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
mov esi, ebp
call fcn.00437d00
test al, al
je 0x435f4f
jmp 0x435fec
cmp byte [esp + 0x17], 0
je 0x435ffa
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
add eax, 1
mov dword [esp + 0x18], eax
mov esi, ebp
call fcn.00437d00
test al, al
jne 0x43613d
xor ebx, ebx
cmp byte [ebp + 8], 0
jne 0x436045
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x43603e
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x43602d
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x43602d
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x436034
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x43603e
mov byte [ebp + 9], al
jmp 0x436041
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x30
jl 0x43613d
cmp byte [ebp + 8], 0
jne 0x436089
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x436082
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x436071
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x436071
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x436078
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x436082
mov byte [ebp + 9], al
jmp 0x436085
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
cmp byte [ebp + 9], 0x39
jg 0x43613d
cmp dword [esp + 0x24], 8
jge 0x4360e9
cmp byte [ebp + 8], 0
jne 0x4360d4
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x4360cd
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4360bc
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4360bc
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4360c3
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4360cd
mov byte [ebp + 9], al
jmp 0x4360d0
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
mov eax, dword [esp + 0x18]
mov cl, byte [ebp + 9]
mov byte [eax], cl
add eax, 1
add dword [esp + 0x24], 1
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 4]
cmp ecx, ebx
mov byte [esp + 0x17], 1
je 0x436127
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x436115
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x436115
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x43611c
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x436127
mov byte [ebp + 8], 0
jmp 0x43612e
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
mov esi, ebp
call fcn.00437d00
test al, al
je 0x43600b
cmp byte [esp + 0x1e], 0
jne 0x43614b
cmp byte [esp + 0x17], 0
jne 0x436151
mov eax, dword [esp + 0x30]
jmp 0x436155
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x68], 0x10
mov byte [eax], 0
jb 0x43616c
mov eax, dword [esp + 0x54]
push eax
call fcn.004716d0
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.00471497
add esp, 0x68
ret