Function at 0x4345b0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x490cd5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
mov eax, dword [0x4b4050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0xa4], eax
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 0
push eax
call fcn.0042bd20
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x94], eax
test ecx, ecx
je 0x434659
mov edx, dword [ecx]
mov edx, dword [edx + 8]
call edx
test eax, eax
je 0x434659
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x94]
lea edx, [ebp - 0x6c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov dword [ebp - 4], 1
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 2
push eax
call fcn.004260a0
mov byte [ebp - 4], 1
add esp, 4
mov ecx, dword [ebp - 0x38]
mov edi, eax
test ecx, ecx
je 0x4346af
mov edx, dword [ecx]
mov edx, dword [edx + 8]
call edx
test eax, eax
je 0x4346af
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov eax, dword [edi]
lea ecx, [ebp - 0x34]
push ecx
push 0x4a4b61
push str.0123456789ABCDEFabcdef_XxPp
mov ecx, edi
call dword [eax + 0x1c]
push dword [ebp - 0x7c]
mov edi, dword [ebp - 0xa0]
push esi
mov byte [ebp - 0x7e], 0
call fcn.0043dce0
add esp, 8
test al, al
jne 0x434811
mov cl, byte [esi + 4]
test cl, cl
jne 0x434722
mov ecx, dword [esi]
test ecx, ecx
je 0x434716
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x434705
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x434705
movzx eax, byte [edx]
jmp 0x43470c
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434716
mov byte [esi + 5], al
jmp 0x43471c
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, 1
mov al, byte [esi + 5]
cmp al, byte [ebp - 0x1d]
jne 0x434781
mov eax, edi
mov byte [eax], 0x2b
lea edi, [eax + 1]
mov ecx, dword [esi]
test ecx, ecx
je 0x434771
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x43475b
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x43475b
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x434762
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x434771
xor al, al
mov byte [esi + 4], al
jmp 0x434811
mov al, 1
mov dword [esi], 0
mov byte [esi + 4], al
jmp 0x434811
test cl, cl
jne 0x4347bf
mov ecx, dword [esi]
test ecx, ecx
je 0x4347b2
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4347a1
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4347a1
movzx eax, byte [edx]
jmp 0x4347a8
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4347b2
mov byte [esi + 5], al
jmp 0x4347bb
mov al, byte [esi + 5]
mov dword [esi], 0
mov byte [esi + 4], 1
cmp al, byte [ebp - 0x1e]
jne 0x434811
mov eax, edi
mov byte [eax], 0x2d
lea edi, [eax + 1]
mov ecx, dword [esi]
test ecx, ecx
je 0x434807
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4347f5
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4347f5
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4347fc
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x434807
mov byte [esi + 4], 0
jmp 0x434811
mov dword [esi], 0
mov byte [esi + 4], 1
mov word [edi], 0x7830
add edi, 2
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x7c]
push edi
push esi
mov byte [ebp - 0x6d], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.0043dce0
add esp, 8
test al, al
jne 0x4349bf
cmp byte [esi + 4], al
jne 0x434885
mov ecx, dword [esi]
test ecx, ecx
je 0x43487b
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x43486a
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x43486a
movzx eax, byte [edx]
jmp 0x434871
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x43487b
mov byte [esi + 5], al
jmp 0x434881
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [ebp - 0x34]
jne 0x4349bf
mov ecx, dword [esi]
test ecx, ecx
je 0x4348ca
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4348ba
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4348ba
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4348c1
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x4348ca
xor al, al
jmp 0x4348d2
mov dword [esi], 0
mov al, 1
push edi
push esi
mov byte [esi + 4], al
call fcn.0043dce0
add esp, 8
test al, al
jne 0x4349bb
mov cl, byte [esi + 4]
test cl, cl
jne 0x434927
mov ecx, dword [esi]
test ecx, ecx
je 0x43491b
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x43490a
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x43490a
movzx eax, byte [edx]
jmp 0x434911
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x43491b
mov byte [esi + 5], al
jmp 0x434921
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, 1
mov al, byte [esi + 5]
cmp al, byte [ebp - 0x1b]
je 0x434972
test cl, cl
jne 0x43496d
mov ecx, dword [esi]
test ecx, ecx
je 0x434960
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x43494f
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x43494f
movzx eax, byte [edx]
jmp 0x434956
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434960
mov byte [esi + 5], al
jmp 0x434969
mov al, byte [esi + 5]
mov dword [esi], 0
mov byte [esi + 4], 1
cmp al, byte [ebp - 0x1c]
jne 0x4349bb
mov ecx, dword [esi]
test ecx, ecx
je 0x4349ae
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x43499b
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x43499b
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4349a2
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x4349ae
xor al, al
mov byte [esi + 4], al
jmp 0x4349bf
mov al, 1
mov dword [esi], 0
mov byte [esi + 4], al
jmp 0x4349bf
mov byte [ebp - 0x6d], 1
mov ecx, dword [ebp - 0xa4]
mov eax, 0x24
mov edx, 0x300
cmp dword [ecx], 0x3b9aca00
cmove eax, edx
cmp dword [ebp - 0x58], 0x10
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
mov dword [ebp - 0x90], eax
mov al, byte [eax]
cmp al, 0x7f
je 0x434d53
test al, al
jle 0x434d53
cmp dword [ebp - 0x5c], 0
jne 0x434a0d
mov byte [ebp - 0x7d], 0
jmp 0x434a1d
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov byte [ebp - 0x7d], al
xorps xmm0, xmm0
mov dword [ebp - 0x44], 1
mov ecx, 0xf
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x40], ecx
mov word [ebp - 0x54], 0
push dword [ebp - 0x7c]
mov byte [ebp - 4], 3
xor edi, edi
push esi
call fcn.0043dce0
add esp, 8
test al, al
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x78], eax
jne 0x434c9a
lea ecx, [esi + 5]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa8], ecx
nop
cmp byte [esi + 4], 0
jne 0x434ac0
mov ecx, dword [esi]
test ecx, ecx
je 0x434ab0
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x434a92
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x434a92
movzx eax, byte [edx]
jmp 0x434a99
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434ab0
mov edx, dword [ebp - 0xa8]
mov ecx, edx
mov dword [ebp - 0x98], ecx
mov byte [edx], al
jmp 0x434abc
mov ecx, dword [ebp - 0x98]
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [ecx]
mov byte [ebp - 0x38], al
lea eax, [ebp - 0x18]
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004532e0
lea ecx, [ebp - 0x34]
sub eax, ecx
cmp eax, 0x16
jae 0x434b4d
mov edx, dword [ebp - 0x88]
mov byte [ebp - 0x6d], 1
cmp dword [ebp - 0x9c], edx
jg 0x434af9
inc dword [ebp - 0x84]
jmp 0x434b17
test eax, eax
jne 0x434b01
test edx, edx
je 0x434b17
mov ecx, dword [ebp - 0x74]
mov al, byte [eax + str.0123456789ABCDEFabcdef_XxPp]
mov byte [ecx], al
inc ecx
inc edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 0x78]
cmovae eax, edx
setae cl
cmp byte [eax + edi], 0x7f
je 0x434c1f
test cl, cl
lea eax, [ebp - 0x54]
cmovne eax, edx
inc byte [eax + edi]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x8c], eax
jmp 0x434c19
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x54]
cmp edx, 0x10
cmovae eax, dword [ebp - 0x78]
setae byte [ebp - 0x7f]
cmp byte [eax + edi], 0
je 0x434c7d
cmp byte [ebp - 0x7d], 0
je 0x434c7d
cmp byte [esi + 4], 0
jne 0x434bcf
mov ecx, dword [esi]
test ecx, ecx
je 0x434bb7
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x434b97
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x434b97
movzx eax, byte [edx]
jmp 0x434b9e
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434bb7
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x8c]
mov byte [esi + 4], 1
mov byte [ecx], al
jmp 0x434bd5
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x8c]
mov dword [esi], 0
mov byte [esi + 4], 1
jmp 0x434bd5
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, byte [ebp - 0x7d]
jne 0x434c7d
mov ecx, dword [ebp - 0x44]
cmp ecx, edx
jae 0x434c00
cmp byte [ebp - 0x7f], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x54]
cmovne eax, dword [ebp - 0x78]
mov word [eax + ecx], 0
jmp 0x434c0f
push 0
push dword [ebp - 0x38]
lea ecx, [ebp - 0x54]
push 1
call fcn.0042cba0
mov ecx, dword [ebp - 0x40]
inc edi
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x78], eax
mov ecx, dword [esi]
test ecx, ecx
je 0x434c58
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x434c48
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x434c48
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x434c4f
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x434c58
xor al, al
jmp 0x434c60
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [esi + 4], al
push esi
call fcn.0043dce0
mov ecx, dword [ebp - 0x98]
add esp, 8
test al, al
je 0x434a70
mov edx, dword [ebp - 0x8c]
test edi, edi
je 0x434c9f
cmp edx, 0x10
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x78]
cmp byte [eax + edi], 0
jle 0x434cc4
inc edi
jmp 0x434c9f
mov edx, 0xf
mov ecx, dword [ebp - 0x90]
test edi, edi
je 0x434cc8
mov cl, byte [ecx]
cmp cl, 0x7f
je 0x434cc8
sub edi, 1
je 0x434d25
cmp edx, 0x10
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x78]
cmp cl, byte [eax + edi]
je 0x434d37
mov byte [ebp - 0x7e], 1
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x434cff
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x78]
mov eax, edx
cmp ecx, 0x1000
jb 0x434cf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4355dc
push ecx
push edx
call fcn.004566f4
add esp, 8
cmp byte [ebp - 0x6d], 0
je 0x434e78
cmp dword [ebp - 0x88], 0
mov edi, dword [ebp - 0x74]
jne 0x434e7b
mov byte [edi], 0x30
inc edi
mov dword [ebp - 0x74], edi
jmp 0x434e7b
test edi, edi
jne 0x434d37
cmp edx, 0x10
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x78]
cmp cl, byte [eax]
jl 0x434cc4
mov ecx, dword [ebp - 0x90]
cmp byte [ecx + 1], 0
jle 0x434ca5
inc ecx
mov dword [ebp - 0x90], ecx
jmp 0x434ca5
push edi
push esi
call fcn.0043dce0
add esp, 8
test al, al
jne 0x434cff
lea eax, [esi + 5]
mov dword [ebp - 0x90], eax
mov edi, eax
nop dword [eax]
cmp byte [esi + 4], 0
jne 0x434dba
mov ecx, dword [esi]
test ecx, ecx
je 0x434db0
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x434d92
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x434d92
movzx eax, byte [edx]
jmp 0x434d99
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434daa
mov byte [edi], al
mov eax, edi
mov dword [ebp - 0x90], eax
jmp 0x434db6
mov eax, dword [ebp - 0x90]
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [eax]
mov byte [ebp - 0x38], al
lea eax, [ebp - 0x18]
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004532e0
lea ecx, [ebp - 0x34]
sub eax, ecx
cmp eax, 0x16
jae 0x434cff
mov edx, dword [ebp - 0x88]
cmp dword [ebp - 0x9c], edx
jg 0x434df3
inc dword [ebp - 0x84]
jmp 0x434e11
test eax, eax
jne 0x434dfb
test edx, edx
je 0x434e11
mov ecx, dword [ebp - 0x74]
mov al, byte [eax + str.0123456789ABCDEFabcdef_XxPp]
mov byte [ecx], al
inc ecx
inc edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x88], edx
mov ecx, dword [esi]
mov byte [ebp - 0x6d], 1
test ecx, ecx
je 0x434e4e
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x434e3e
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x434e3e
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x434e45
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x434e4e
xor al, al
jmp 0x434e56
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [esi + 4], al
push esi
call fcn.0043dce0
add esp, 8
test al, al
mov eax, dword [ebp - 0x90]
je 0x434d70
jmp 0x434d09
mov edi, dword [ebp - 0x74]
push dword [ebp - 0x7c]
push esi
call fcn.0043dce0
add esp, 8
test al, al
jne 0x434f37
cmp byte [esi + 4], al
jne 0x434ecb
mov ecx, dword [esi]
test ecx, ecx
je 0x434ec1
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x434eb0
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x434eb0
movzx eax, byte [edx]
jmp 0x434eb7
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434ec1
mov byte [esi + 5], al
jmp 0x434ec7
mov dword [esi], 0
mov byte [esi + 4], 1
mov ecx, dword [ebp - 0x94]
mov al, byte [esi + 5]
mov byte [ebp - 0x7f], al
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
cmp byte [ebp - 0x7f], al
jne 0x434f37
call fcn.00472317
mov eax, dword [eax]
mov al, byte [eax]
mov byte [edi], al
inc edi
mov ecx, dword [esi]
mov dword [ebp - 0x74], edi
test ecx, ecx
je 0x434f2d
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x434f1b
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x434f1b
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x434f22
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x434f2d
mov byte [esi + 4], 0
jmp 0x434f37
mov dword [esi], 0
mov byte [esi + 4], 1
cmp dword [ebp - 0x88], 0
jne 0x435025
push dword [ebp - 0x7c]
push esi
call fcn.0043dce0
add esp, 8
test al, al
jne 0x43500a
lea edi, [esi + 5]
mov dword [ebp - 0x38], edi
nop
cmp byte [esi + 4], 0
jne 0x434fa1
mov ecx, dword [esi]
test ecx, ecx
je 0x434f97
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x434f82
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x434f82
movzx eax, byte [edx]
jmp 0x434f89
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x434f97
mov ecx, dword [ebp - 0x38]
mov edi, ecx
mov byte [ecx], al
jmp 0x434f9d
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [edi]
cmp al, byte [ebp - 0x34]
jne 0x43500a
dec dword [ebp - 0x84]
mov ecx, dword [esi]
mov byte [ebp - 0x6d], 1
test ecx, ecx
je 0x434feb
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x434fdb
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x434fdb
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x434fe2
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x434feb
xor al, al
jmp 0x434ff3
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [esi + 4], al
push esi
call fcn.0043dce0
add esp, 8
test al, al
je 0x434f60
mov ecx, dword [ebp - 0x84]
test ecx, ecx
jns 0x435025
mov eax, dword [ebp - 0x74]
mov byte [eax], 0x30
inc eax
inc ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x84], ecx
push dword [ebp - 0x7c]
push esi
call fcn.0043dce0
add esp, 8
lea edi, [esi + 4]
test al, al
jne 0x43513d
lea eax, [esi + 5]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x78], eax
cmp byte [edi], 0
jne 0x435093
mov ecx, dword [esi]
test ecx, ecx
je 0x43508a
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x435069
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x435069
movzx eax, byte [edx]
jmp 0x435070
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x435084
mov edx, dword [ebp - 0x78]
mov byte [edx], al
mov eax, edx
mov dword [ebp - 0x94], eax
jmp 0x435090
mov eax, dword [ebp - 0x94]
mov dword [esi], 0
mov byte [edi], 1
mov al, byte [eax]
mov byte [ebp - 0x38], al
lea eax, [ebp - 0x18]
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004532e0
lea ecx, [ebp - 0x34]
sub eax, ecx
cmp eax, 0x16
jae 0x43513d
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x9c]
jge 0x4350da
mov ecx, dword [ebp - 0x74]
mov al, byte [eax + str.0123456789ABCDEFabcdef_XxPp]
mov byte [ecx], al
inc ecx
inc edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x88], edx
mov ecx, dword [esi]
mov byte [ebp - 0x6d], 1
test ecx, ecx
je 0x435117
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x435107
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x435107
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x43510e
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x435117
xor al, al
jmp 0x43511f
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [edi], al
push esi
call fcn.0043dce0
add esp, 8
test al, al
mov eax, dword [ebp - 0x94]
je 0x435048
jmp 0x43514e
mov al, byte [ebp - 0x6d]
test al, al
je 0x435566
lea eax, [esi + 5]
mov dword [ebp - 0x78], eax
push dword [ebp - 0x7c]
push esi
call fcn.0043dce0
add esp, 8
test al, al
jne 0x435563
mov cl, byte [edi]
test cl, cl
jne 0x4351aa
mov ecx, dword [esi]
test ecx, ecx
je 0x435199
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x435184
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x435184
movzx ecx, byte [edx]
jmp 0x43518d
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, eax
cmp ecx, 0xffffffff
je 0x435199
lea eax, [esi + 5]
mov byte [eax], cl
jmp 0x4351a2
mov dword [esi], 0
lea eax, [esi + 5]
mov dword [ebp - 0x78], eax
mov cl, 1
mov byte [edi], 1
mov edx, dword [ebp - 0x78]
mov al, byte [edx]
cmp al, byte [ebp - 0x19]
je 0x435201
test cl, cl
jne 0x4351f8
mov ecx, dword [esi]
test ecx, ecx
je 0x4351ed
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x4351da
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4351da
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax]
jmp 0x4351e4
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x4351ed
mov byte [edx], al
jmp 0x4351f5
mov al, byte [edx]
mov dword [esi], 0
mov byte [edi], 1
cmp al, byte [ebp - 0x1a]
jne 0x435563
mov eax, dword [ebp - 0x74]
mov byte [eax], 0x70
inc eax
mov ecx, dword [esi]
mov dword [ebp - 0x74], eax
test ecx, ecx
je 0x435244
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x435234
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x435234
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x43523b
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x435244
xor al, al
jmp 0x43524c
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [edi], al
push esi
mov byte [ebp - 0x6d], 0
mov dword [ebp - 0x9c], 0
call fcn.0043dce0
add esp, 8
test al, al
jne 0x4353a7
mov cl, byte [edi]
test cl, cl
jne 0x4352b0
mov ecx, dword [esi]
test ecx, ecx
je 0x4352a5
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x435292
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x435292
movzx eax, byte [edx]
jmp 0x435299
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4352a5
mov ecx, dword [ebp - 0x78]
mov byte [ecx], al
jmp 0x4352ab
mov dword [esi], 0
mov byte [edi], 1
mov cl, 1
mov edx, dword [ebp - 0x78]
mov al, byte [edx]
cmp al, byte [ebp - 0x1d]
jne 0x435311
mov eax, dword [ebp - 0x74]
mov byte [eax], 0x2b
inc eax
mov ecx, dword [esi]
mov dword [ebp - 0x74], eax
test ecx, ecx
je 0x435302
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4352ed
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4352ed
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4352f4
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x435302
xor al, al
mov byte [edi], al
jmp 0x4353a7
mov al, 1
mov dword [esi], 0
mov byte [edi], al
jmp 0x4353a7
test cl, cl
jne 0x435355
mov ecx, dword [esi]
test ecx, ecx
je 0x43534a
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x435337
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x435337
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax]
jmp 0x435341
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0x78]
cmp eax, 0xffffffff
je 0x43534a
mov byte [edx], al
jmp 0x435352
mov al, byte [edx]
mov dword [esi], 0
mov byte [edi], 1
cmp al, byte [ebp - 0x1e]
jne 0x4353a7
mov eax, dword [ebp - 0x74]
mov byte [eax], 0x2d
inc eax
mov ecx, dword [esi]
mov dword [ebp - 0x74], eax
test ecx, ecx
je 0x43539e
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x43538d
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x43538d
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x435394
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x43539e
mov byte [edi], 0
jmp 0x4353a7
mov dword [esi], 0
mov byte [edi], 1
push dword [ebp - 0x7c]
push esi
call fcn.0043dce0
add esp, 8
test al, al
jne 0x435474
nop dword [eax + eax]
cmp byte [edi], 0
jne 0x4353fd
mov ecx, dword [esi]
test ecx, ecx
je 0x4353f4
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4353e1
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4353e1
movzx eax, byte [edx]
jmp 0x4353e8
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4353f4
mov ecx, dword [ebp - 0x78]
mov byte [ecx], al
jmp 0x4353fa
mov dword [esi], 0
mov byte [edi], 1
mov eax, dword [ebp - 0x78]
mov al, byte [eax]
cmp al, byte [ebp - 0x34]
jne 0x435464
mov ecx, dword [esi]
mov byte [ebp - 0x6d], 1
test ecx, ecx
je 0x435444
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x435434
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x435434
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x43543b
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x435444
xor al, al
jmp 0x43544c
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [edi], al
push esi
call fcn.0043dce0
add esp, 8
test al, al
je 0x4353c0
jmp 0x43546a
cmp byte [ebp - 0x6d], 0
je 0x435474
mov eax, dword [ebp - 0x74]
mov byte [eax], 0x30
inc eax
mov dword [ebp - 0x74], eax
push dword [ebp - 0x7c]
push esi
call fcn.0043dce0
add esp, 8
test al, al
jne 0x435563
cmp byte [edi], 0
jne 0x4354c5
mov ecx, dword [esi]
test ecx, ecx
je 0x4354bc
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4354a9
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4354a9
movzx eax, byte [edx]
jmp 0x4354b0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4354bc
mov ecx, dword [ebp - 0x78]
mov byte [ecx], al
jmp 0x4354c2
mov dword [esi], 0
mov byte [edi], 1
mov eax, dword [ebp - 0x78]
mov al, byte [eax]
mov byte [ebp - 0x38], al
lea eax, [ebp - 0x18]
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004532e0
lea ecx, [ebp - 0x34]
sub eax, ecx
cmp eax, 0x16
jae 0x435563
mov ecx, dword [ebp - 0x9c]
cmp ecx, 8
jge 0x435508
mov edx, dword [ebp - 0x74]
mov al, byte [eax + str.0123456789ABCDEFabcdef_XxPp]
mov byte [edx], al
inc edx
inc ecx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x9c], ecx
mov ecx, dword [esi]
mov byte [ebp - 0x6d], 1
test ecx, ecx
je 0x435545
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x435535
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x435535
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x43553c
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
je 0x435545
xor al, al
jmp 0x43554d
mov dword [esi], 0
mov al, 1
push dword [ebp - 0x7c]
mov byte [edi], al
push esi
call fcn.0043dce0
add esp, 8
test al, al
je 0x435488
mov al, byte [ebp - 0x6d]
cmp byte [ebp - 0x7e], 0
jne 0x435570
test al, al
jne 0x435578
mov eax, dword [ebp - 0xa0]
jmp 0x43557b
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xa4]
mov byte [eax], 0
mov eax, dword [ebp - 0x84]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x4355bc
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4355b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4355dc
push ecx
push edx
call fcn.004566f4
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0045613d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0047361e
int3