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

Disassembly:
push 0xffffffffffffffff
push 0x5cf018
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x694114]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x694114]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edx
call fcn.0047c190
push eax
mov dword [esp + 0x84], 0
call fcn.0047ec80
mov ebp, dword [esp + 0x3c]
add esp, 4
mov edi, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x80], 0xffffffff
test ebp, ebp
je 0x47fb77
push 0
lea ecx, [esp + 0x28]
call fcn.0058317b
mov eax, dword [ebp + 4]
test eax, eax
je 0x47fb53
cmp eax, 0xffffffff
jae 0x47fb53
dec eax
mov dword [ebp + 4], eax
mov edi, dword [ebp + 4]
neg edi
sbb edi, edi
lea ecx, [esp + 0x24]
not edi
call fcn.005831a3
and edi, ebp
je 0x47fb73
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
lea ecx, [esp + 0x58]
push ecx
mov ecx, edi
call fcn.00466c60
push ebp
mov ecx, esi
mov dword [esp + 0x84], 1
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x22], 0
call fcn.0047d8d0
test al, al
jne 0x47fc08
cmp byte [esi + 4], al
jne 0x47fbe4
mov ecx, dword [esi]
test ecx, ecx
je 0x47fbda
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47fbc9
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47fbc9
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47fbd0
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x47fbda
mov byte [esi + 5], al
jmp 0x47fbe0
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
mov ecx, esi
jne 0x47fbf1
mov byte [ebx], 0x2b
jmp 0x47fbfe
call fcn.0047e0c0
cmp al, 0x2d
jne 0x47fc08
mov byte [ebx], al
mov ecx, esi
inc ebx
mov dword [esp + 0x18], ebx
call fcn.0047e110
mov eax, dword [esp + 0x18]
mov word [eax], 0x7830
add eax, 2
xor ebx, ebx
push ebp
mov ecx, esi
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1b], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
call fcn.0047d8d0
test al, al
jne 0x47fca7
cmp byte [esi + 4], bl
jne 0x47fc6a
mov ecx, dword [esi]
cmp ecx, ebx
je 0x47fc64
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x47fc53
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x47fc53
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47fc5a
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x47fc64
mov byte [esi + 5], al
jmp 0x47fc66
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x47fca7
mov ecx, esi
call fcn.0047e110
push ebp
mov ecx, eax
call fcn.0047d8d0
test al, al
jne 0x47fca2
mov ecx, esi
call fcn.0047e0c0
cmp al, 0x78
je 0x47fc99
mov ecx, esi
call fcn.0047e0c0
cmp al, 0x58
jne 0x47fca2
mov ecx, esi
call fcn.0047e110
jmp 0x47fca7
mov byte [esp + 0x17], 1
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
mov eax, edx
cmp ecx, 0x10
jae 0x47fcba
lea eax, [esp + 0x58]
cmp byte [eax], 0x7f
je 0x47ff83
mov eax, edx
cmp ecx, 0x10
jae 0x47fcce
lea eax, [esp + 0x58]
cmp byte [eax], bl
jle 0x47ff83
cmp dword [esp + 0x68], ebx
jne 0x47fce2
mov byte [esp + 0x1f], bl
jmp 0x47fcef
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov byte [esp + 0x1f], al
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 1
mov word [esp + 0x3c], bx
push ebp
mov ecx, esi
mov byte [esp + 0x84], 2
xor ebx, ebx
call fcn.0047d8d0
test al, al
jne 0x47fead
mov edi, edi
cmp byte [esi + 4], 0
jne 0x47fd5e
mov ecx, dword [esi]
test ecx, ecx
je 0x47fd54
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47fd43
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47fd43
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47fd4a
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x47fd54
mov byte [esi + 5], al
jmp 0x47fd5a
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x47fd72
movsx ecx, al
cmp ecx, 0x39
jg 0x47fd72
lea edi, [ecx - 0x30]
jmp 0x47fd92
cmp al, 0x61
jl 0x47fd83
movsx ecx, al
cmp ecx, 0x66
jg 0x47fd83
lea edi, [ecx - 0x57]
jmp 0x47fd92
cmp al, 0x41
jl 0x47fdf8
movsx eax, al
cmp eax, 0x46
jg 0x47fdf8
lea edi, [eax - 0x37]
test edi, edi
js 0x47fdf8
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x17], 1
cmp ebp, 0x24
jl 0x47fdaa
inc dword [esp + 0x20]
jmp 0x47fdcf
mov ecx, esi
call fcn.0047e0c0
cmp al, 0x30
jne 0x47fdb9
test ebp, ebp
je 0x47fdcf
mov eax, dword [esp + 0x18]
mov cl, byte [edi + str.0123456789abcdef]
mov byte [eax], cl
inc eax
inc ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x3c]
cmp ecx, 0x10
jae 0x47fde0
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0x7f
je 0x47fe31
mov eax, dword [esp + 0x3c]
cmp ecx, 0x10
jae 0x47fdf3
lea eax, [esp + 0x3c]
inc byte [eax + ebx]
jmp 0x47fe31
cmp dword [esp + 0x50], 0x10
mov ebp, dword [esp + 0x3c]
mov eax, ebp
jae 0x47fe09
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0
je 0x47fe8c
cmp byte [esp + 0x1f], 0
je 0x47fe8c
mov ecx, esi
call fcn.0047e0c0
cmp al, byte [esp + 0x1f]
jne 0x47fe8c
push 0
push 1
lea ecx, [esp + 0x44]
call fcn.0047ea20
inc ebx
mov ecx, dword [esi]
test ecx, ecx
je 0x47fe6a
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x47fe58
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x47fe58
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x47fe5f
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x47fe6a
mov byte [esi + 4], 0
jmp 0x47fe74
mov dword [esi], 0
mov byte [esi + 4], 1
mov eax, dword [esp + 0x28]
push eax
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x47fd20
mov ebp, dword [esp + 0x3c]
test ebx, ebx
je 0x47feb1
cmp dword [esp + 0x50], 0x10
mov eax, ebp
jae 0x47fe9d
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0
jle 0x47fea6
inc ebx
jmp 0x47feb1
mov byte [esp + 0x1e], 1
jmp 0x47feb1
mov ebp, dword [esp + 0x3c]
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x47fec0
lea edx, [esp + 0x58]
cmp byte [esp + 0x1e], 0
mov edi, dword [esp + 0x50]
jne 0x47ff0a
test ebx, ebx
je 0x47ff0a
mov cl, byte [edx]
cmp cl, 0x7f
je 0x47ff0a
dec ebx
je 0x47fee9
mov eax, ebp
cmp edi, 0x10
jae 0x47fee4
lea eax, [esp + 0x3c]
cmp cl, byte [eax + ebx]
jne 0x47ff05
test ebx, ebx
jne 0x47fefc
mov eax, ebp
cmp edi, 0x10
jae 0x47fef8
lea eax, [esp + 0x3c]
cmp cl, byte [eax]
jl 0x47ff05
cmp byte [edx + 1], 0
jle 0x47fecb
inc edx
jmp 0x47fecb
mov byte [esp + 0x1e], 1
mov byte [esp + 0x80], 1
cmp edi, 0x10
jb 0x47ff20
push ebp
call fcn.00584768
add esp, 4
mov ebp, dword [esp + 0x28]
cmp byte [esp + 0x17], 0
je 0x47ff3e
cmp dword [esp + 0x24], 0
jne 0x47ff3e
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x480162
cmp byte [esi + 4], al
jne 0x4800f7
mov ecx, dword [esi]
test ecx, ecx
je 0x4800ed
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4800dc
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4800dc
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4800e3
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x47ff24
nop
cmp byte [esi + 4], 0
jne 0x47ffce
mov ecx, dword [esi]
test ecx, ecx
je 0x47ffc4
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47ffb3
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47ffb3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47ffba
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x47ffc4
mov byte [esi + 5], al
jmp 0x47ffca
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x47ffe2
movsx ecx, al
cmp ecx, 0x39
jg 0x47ffe2
lea ebx, [ecx - 0x30]
jmp 0x48000a
cmp al, 0x61
jl 0x47fff3
movsx ecx, al
cmp ecx, 0x66
jg 0x47fff3
lea ebx, [ecx - 0x57]
jmp 0x48000a
cmp al, 0x41
jl 0x47ff24
movsx eax, al
cmp eax, 0x46
jg 0x47ff24
lea ebx, [eax - 0x37]
test ebx, ebx
js 0x47ff24
mov edi, dword [esp + 0x24]
cmp edi, 0x24
jl 0x480021
inc dword [esp + 0x20]
jmp 0x48007f
cmp byte [esi + 4], 0
jne 0x48005f
mov ecx, dword [esi]
test ecx, ecx
je 0x480055
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x480044
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x480044
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x48004b
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x480055
mov byte [esi + 5], al
jmp 0x48005b
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x480069
test edi, edi
je 0x48007f
mov eax, dword [esp + 0x18]
mov cl, byte [ebx + str.0123456789abcdef]
mov byte [eax], cl
inc eax
inc edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x4800bd
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4800ab
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4800ab
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4800b2
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4800bd
mov byte [esi + 4], 0
jmp 0x4800c7
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x47ff90
jmp 0x47ff2b
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4800ed
mov byte [esi + 5], al
jmp 0x4800f3
mov dword [esi], 0
mov byte [esi + 4], 1
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov bl, byte [esi + 5]
call eax
cmp bl, al
jne 0x480162
call fcn.0058db3c
mov ecx, dword [eax]
mov eax, dword [esp + 0x18]
mov dl, byte [ecx]
mov byte [eax], dl
mov ecx, dword [esi]
inc eax
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x480158
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x480146
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x480146
mov eax, edx
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x48014d
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x480158
mov byte [esi + 4], 0
jmp 0x480162
mov dword [esi], 0
mov byte [esi + 4], 1
cmp dword [esp + 0x24], 0
mov ebp, dword [esp + 0x28]
jne 0x48023a
push ebp
mov ecx, esi
call fcn.0047d8d0
mov edi, dword [esp + 0x20]
test al, al
jne 0x480226
cmp byte [esi + 4], 0
jne 0x4801c3
mov ecx, dword [esi]
test ecx, ecx
je 0x4801b9
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4801a8
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4801a8
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4801af
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4801b9
mov byte [esi + 5], al
jmp 0x4801bf
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x480222
mov ecx, dword [esi]
dec edi
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x480208
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4801f6
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4801f6
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4801fd
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x480208
mov byte [esi + 4], 0
jmp 0x480212
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x480185
mov dword [esp + 0x20], edi
test edi, edi
jns 0x48023a
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
inc dword [esp + 0x20]
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x480375
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
cmp byte [esi + 4], 0
jne 0x480290
mov ecx, dword [esi]
test ecx, ecx
je 0x480286
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x480275
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x480275
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x48027c
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x480286
mov byte [esi + 5], al
jmp 0x48028c
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x4802a4
movsx ecx, al
cmp ecx, 0x39
jg 0x4802a4
lea eax, [ecx - 0x30]
jmp 0x4802cc
cmp al, 0x61
jl 0x4802b5
movsx ecx, al
cmp ecx, 0x66
jg 0x4802b5
lea eax, [ecx - 0x57]
jmp 0x4802cc
cmp al, 0x41
jl 0x480371
movsx eax, al
cmp eax, 0x46
jg 0x480371
add eax, 0xffffffc9
test eax, eax
js 0x480371
cmp ebx, 0x24
jge 0x4802e3
mov cl, byte [eax + str.0123456789abcdef]
mov byte [edi], cl
inc edi
inc ebx
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x480321
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x48030f
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x48030f
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x480316
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x480321
mov byte [esi + 4], 0
jmp 0x48032b
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x480252
mov dword [esp + 0x18], edi
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x480716
cmp byte [esi + 4], al
jne 0x48039d
mov ecx, dword [esi]
test ecx, ecx
je 0x480393
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x480382
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x480382
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x480389
mov dword [esp + 0x18], edi
cmp byte [esp + 0x17], 0
je 0x480716
jmp 0x48033f
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x480393
mov byte [esi + 5], al
jmp 0x480399
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x70
je 0x4803eb
cmp byte [esi + 4], 0
jne 0x4803e1
mov ecx, dword [esi]
test ecx, ecx
je 0x4803d7
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4803c6
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4803c6
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4803cd
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4803d7
mov byte [esi + 5], al
jmp 0x4803dd
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x50
jne 0x480716
mov edi, dword [esp + 0x18]
mov byte [edi], 0x70
mov ecx, dword [esi]
inc edi
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x480430
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x48041e
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x48041e
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x480425
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x480430
mov byte [esi + 4], 0
jmp 0x48043a
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
mov byte [esp + 0x1b], 0
xor ebx, ebx
call fcn.0047d8d0
test al, al
jne 0x480514
cmp byte [esi + 4], bl
jne 0x480488
mov ecx, dword [esi]
test ecx, ecx
je 0x480482
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x480471
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x480471
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x480478
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x480482
mov byte [esi + 5], al
jmp 0x480484
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
jne 0x480493
mov byte [edi], 0x2b
jmp 0x4804d3
cmp byte [esi + 4], bl
jne 0x4804ca
mov ecx, dword [esi]
test ecx, ecx
je 0x4804c4
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4804b3
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4804b3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4804ba
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4804c4
mov byte [esi + 5], al
jmp 0x4804c6
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2d
jne 0x480514
mov byte [edi], 0x2d
mov ecx, dword [esi]
inc edi
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x48050e
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x4804fd
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x4804fd
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x480504
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x48050e
mov byte [esi + 4], bl
jmp 0x480514
mov byte [esi + 4], 1
mov dword [esi], ebx
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x4805c6
cmp byte [esi + 4], bl
jne 0x48055b
mov ecx, dword [esi]
test ecx, ecx
je 0x480555
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x480544
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x480544
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x48054b
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x480555
mov byte [esi + 5], al
jmp 0x480557
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x4805b4
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x48059c
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x48058b
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x48058b
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x480592
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x48059c
mov byte [esi + 4], bl
jmp 0x4805a2
mov dword [esi], ebx
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x480524
jmp 0x4805ba
cmp byte [esp + 0x17], bl
je 0x4805c6
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x480716
mov edi, dword [esp + 0x18]
lea ebx, [ebx]
cmp byte [esi + 4], 0
jne 0x48061e
mov ecx, dword [esi]
test ecx, ecx
je 0x480614
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x480603
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x480603
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x48060a
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x480614
mov byte [esi + 5], al
jmp 0x48061a
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jl 0x480712
cmp byte [esi + 4], 0
jne 0x480666
mov ecx, dword [esi]
test ecx, ecx
je 0x48065c
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x48064b
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x48064b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x480652
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x48065c
mov byte [esi + 5], al
jmp 0x480662
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x39
jg 0x480712
cmp ebx, 8
jge 0x4806ba
cmp byte [esi + 4], 0
jne 0x4806b3
mov ecx, dword [esi]
test ecx, ecx
je 0x4806a9
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x480698
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x480698
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x48069f
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4806a9
mov byte [esi + 5], al
jmp 0x4806af
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esi + 5]
mov byte [edi], cl
inc edi
inc ebx
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x4806f8
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4806e6
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4806e6
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4806ed
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4806f8
mov byte [esi + 4], 0
jmp 0x480702
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x4805e0
mov dword [esp + 0x18], edi
cmp byte [esp + 0x1e], 0
jne 0x480724
cmp byte [esp + 0x17], 0
jne 0x48072a
mov eax, dword [esp + 0x30]
jmp 0x48072e
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x6c], 0x10
mov ecx, dword [esp + 0x20]
mov byte [eax], 0
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
jb 0x48074f
mov edx, dword [esp + 0x58]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00585b7b
add esp, 0x70
ret