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

Disassembly:
push 0xffffffffffffffff
push 0x58f3c0
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x5eb3c0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5eb3c0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x8c]
mov ebx, ecx
push eax
mov dword [esp + 0x3c], ebx
mov edi, edx
call fcn.00445920
add esp, 4
lea esi, [esp + 0x58]
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.00448410
xor ebp, ebp
mov dword [esp + 0x80], ebp
cmp byte [edi + 8], 0
mov dword [esp + 0x20], ebx
mov byte [esp + 0x27], 0
jne 0x445d03
mov esi, edi
call fcn.0044d180
mov esi, dword [esp + 0x1c]
cmp byte [esi + 8], 0
jne 0x445d12
call fcn.0044d180
mov eax, dword [edi + 4]
cmp eax, ebp
jne 0x445d22
cmp dword [esi + 4], ebp
je 0x445d6f
cmp eax, ebp
je 0x445d27
cmp dword [esi + 4], ebp
jne 0x445d6f
cmp byte [edi + 8], 0
jne 0x445d38
mov esi, edi
call fcn.0044d180
mov esi, dword [esp + 0x1c]
cmp byte [edi + 9], 0x2b
jne 0x445d43
mov byte [ebx], 0x2b
jmp 0x445d5d
cmp byte [edi + 8], 0
jne 0x445d54
mov esi, edi
call fcn.0044d180
mov esi, dword [esp + 0x1c]
cmp byte [edi + 9], 0x2d
jne 0x445d6f
mov byte [ebx], 0x2d
add ebx, 1
mov esi, edi
mov dword [esp + 0x20], ebx
call fcn.00445a50
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
xor ebx, ebx
cmp eax, 0x10
mov byte [esp + 0x1b], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebp
mov ecx, edx
jae 0x445d91
lea ecx, [esp + 0x5c]
cmp byte [ecx], 0x7f
je 0x446020
cmp eax, 0x10
mov eax, edx
jae 0x445da5
lea eax, [esp + 0x5c]
cmp byte [eax], 0
jle 0x446020
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x33], al
mov eax, 1
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
mov dword [esp + 0x50], eax
mov byte [esp + 0x41], 0
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x80], al
call fcn.00445aa0
test al, al
je 0x445f79
cmp byte [edi + 8], 0
jne 0x445e30
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x445e25
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x445e14
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x445e14
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x445e1b
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x445e25
mov byte [edi + 9], al
jmp 0x445e2c
mov dword [edi + 4], 0
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x30
jl 0x445ee3
cmp byte [edi + 8], 0
jne 0x445e47
mov esi, edi
call fcn.0044d180
cmp byte [edi + 9], 0x39
jg 0x445ee3
cmp dword [esp + 0x2c], 0x24
mov byte [esp + 0x1b], 1
jl 0x445e64
add dword [esp + 0x28], 1
jmp 0x445ea0
cmp byte [edi + 8], 0
jne 0x445e71
mov esi, edi
call fcn.0044d180
cmp byte [edi + 9], 0x30
jne 0x445e7e
cmp dword [esp + 0x2c], 0
je 0x445ea0
cmp byte [edi + 8], 0
jne 0x445e8b
mov esi, edi
call fcn.0044d180
mov ecx, dword [esp + 0x20]
mov al, byte [edi + 9]
mov byte [ecx], al
add ecx, 1
add dword [esp + 0x2c], 1
mov dword [esp + 0x20], ecx
cmp ebp, dword [esp + 0x50]
jbe 0x445eab
call fcn.00565fa7
mov eax, dword [esp + 0x40]
mov esi, 0x10
cmp dword [esp + 0x54], esi
jae 0x445ebe
lea eax, [esp + 0x40]
cmp byte [eax + ebp], 0x7f
je 0x445f2d
cmp ebp, dword [esp + 0x50]
jbe 0x445ecf
call fcn.00565fa7
cmp dword [esp + 0x54], esi
mov eax, dword [esp + 0x40]
jae 0x445edd
lea eax, [esp + 0x40]
add byte [eax + ebp], 1
jmp 0x445f2d
cmp ebp, dword [esp + 0x50]
jbe 0x445eee
call fcn.00565fa7
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x445efd
lea eax, [esp + 0x40]
cmp byte [eax + ebp], 0
je 0x445f45
mov bl, byte [esp + 0x33]
test bl, bl
je 0x445f45
cmp byte [edi + 8], 0
jne 0x445f18
mov esi, edi
call fcn.0044d180
cmp byte [edi + 9], bl
jne 0x445f45
push 0
push 1
lea ecx, [esp + 0x44]
call fcn.00443740
add ebp, 1
mov esi, edi
call fcn.00445a50
mov ebx, dword [esp + 0x1c]
call fcn.00445aa0
test al, al
jne 0x445df0
test ebp, ebp
je 0x445f79
cmp ebp, dword [esp + 0x50]
jbe 0x445f54
call fcn.00565fa7
mov eax, dword [esp + 0x40]
mov ebx, 0x10
cmp dword [esp + 0x54], ebx
jae 0x445f67
lea eax, [esp + 0x40]
cmp byte [eax + ebp], 0
jle 0x445f72
add ebp, 1
jmp 0x445f7e
mov byte [esp + 0x27], 1
jmp 0x445f7e
mov ebx, 0x10
cmp dword [esp + 0x70], ebx
mov esi, dword [esp + 0x5c]
jae 0x445f8c
lea esi, [esp + 0x5c]
cmp byte [esp + 0x27], 0
jne 0x445ff5
test ebp, ebp
jbe 0x445ff5
cmp byte [esi], 0x7f
je 0x445ff5
sub ebp, 1
je 0x445fc1
cmp ebp, dword [esp + 0x50]
jbe 0x445fac
call fcn.00565fa7
cmp dword [esp + 0x54], ebx
mov eax, dword [esp + 0x40]
jae 0x445fba
lea eax, [esp + 0x40]
mov cl, byte [esi]
cmp cl, byte [eax + ebp]
jne 0x445ff0
test ebp, ebp
jne 0x445fe5
cmp ebp, dword [esp + 0x50]
jbe 0x445fd0
call fcn.00565fa7
cmp dword [esp + 0x54], ebx
mov eax, dword [esp + 0x40]
jae 0x445fde
lea eax, [esp + 0x40]
mov dl, byte [esi]
cmp dl, byte [eax + ebp]
jl 0x445ff0
cmp byte [esi + 1], 0
jle 0x445f93
add esi, 1
jmp 0x445f93
mov byte [esp + 0x27], 1
mov byte [esp + 0x80], 0
cmp dword [esp + 0x54], ebx
jb 0x4460a4
mov eax, dword [esp + 0x40]
push eax
call fcn.00563626
add esp, 4
jmp 0x4460a4
cmp byte [edi + 8], 0
jne 0x44605a
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x446053
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x446042
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x446042
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446049
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446053
mov byte [edi + 9], al
jmp 0x446056
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
cmp byte [esi + 8], 0
jne 0x446094
mov ecx, dword [esi + 4]
cmp ecx, ebp
je 0x44608d
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x44607c
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x44607c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446083
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44608d
mov byte [esi + 9], al
jmp 0x446090
mov dword [esi + 4], ebp
mov byte [esi + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebp
jne 0x4460f6
cmp dword [esi + 4], ebp
jne 0x4460fb
mov dword [esp + 0x2c], ebx
xor ebp, ebp
cmp byte [esp + 0x1b], 0
je 0x4460c1
cmp dword [esp + 0x2c], ebp
jne 0x4460c1
mov eax, dword [esp + 0x20]
mov byte [eax], 0x30
add eax, 1
mov dword [esp + 0x20], eax
cmp byte [edi + 8], 0
jne 0x446203
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x4461fc
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x4461eb
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x4461eb
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4461f2
cmp dword [esi + 4], ebp
jne 0x4460a0
cmp byte [edi + 8], 0
jne 0x446132
cmp ecx, ebp
je 0x44612b
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x44611a
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x44611a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446121
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44612b
mov byte [edi + 9], al
jmp 0x44612e
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x30
jl 0x4460a0
cmp byte [edi + 8], 0
jne 0x446176
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x44616f
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x44615e
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x44615e
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446165
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44616f
mov byte [edi + 9], al
jmp 0x446172
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x39
jg 0x4460a0
cmp ebx, 0x24
jl 0x44619f
add dword [esp + 0x28], 1
mov esi, edi
mov byte [esp + 0x1b], 1
call fcn.00445a50
mov esi, dword [esp + 0x1c]
jmp 0x446020
cmp byte [edi + 8], 0
jne 0x4461ac
mov esi, edi
call fcn.0044d180
cmp byte [edi + 9], 0x30
jne 0x4461b6
cmp ebx, ebp
je 0x4461d6
cmp byte [edi + 8], 0
jne 0x4461c3
mov esi, edi
call fcn.0044d180
mov eax, dword [esp + 0x20]
mov cl, byte [edi + 9]
mov byte [eax], cl
add eax, 1
mov dword [esp + 0x20], eax
add ebx, 1
mov esi, edi
mov byte [esp + 0x1b], 1
call fcn.00445a50
mov esi, dword [esp + 0x1c]
jmp 0x446020
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4461fc
mov byte [edi + 9], al
jmp 0x4461ff
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
mov esi, dword [esp + 0x1c]
cmp byte [esi + 8], 0
jne 0x446241
mov ecx, dword [esi + 4]
cmp ecx, ebp
je 0x44623a
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x446229
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x446229
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446230
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44623a
mov byte [esi + 9], al
jmp 0x44623d
mov dword [esi + 4], ebp
mov byte [esi + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebp
jne 0x446255
cmp dword [esi + 4], ebp
je 0x4462ff
cmp ecx, ebp
je 0x44625e
cmp dword [esi + 4], ebp
jne 0x4462ff
cmp byte [edi + 8], 0
jne 0x446295
cmp ecx, ebp
je 0x44628e
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x44627d
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x44627d
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446284
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44628e
mov byte [edi + 9], al
jmp 0x446291
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov bl, byte [edi + 9]
call eax
cmp bl, al
jne 0x4462ff
call fcn.005638e6
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
mov dl, byte [ecx]
mov byte [eax], dl
mov ecx, dword [edi + 4]
add eax, 1
cmp ecx, ebp
mov dword [esp + 0x20], eax
je 0x4462f8
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x4462e6
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x4462e6
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 0x4462ed
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x4462f8
mov byte [edi + 8], 0
jmp 0x4462ff
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
mov ebx, dword [esp + 0x2c]
cmp ebx, ebp
mov esi, dword [esp + 0x28]
jne 0x4463c0
nop
cmp byte [edi + 8], 0
jne 0x44634a
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x446343
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x446332
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x446332
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446339
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446343
mov byte [edi + 9], al
jmp 0x446346
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
mov edx, dword [esp + 0x1c]
cmp byte [edx + 8], 0
jne 0x446390
mov ecx, dword [edx + 4]
cmp ecx, ebp
je 0x446385
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x446370
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x446370
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446377
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446385
mov edx, dword [esp + 0x1c]
mov byte [edx + 9], al
jmp 0x44638c
mov edx, dword [esp + 0x1c]
mov dword [edx + 4], ebp
mov byte [edx + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebp
jne 0x4463f5
cmp dword [edx + 4], ebp
jne 0x4463fa
cmp esi, ebp
mov dword [esp + 0x28], esi
jge 0x4463c0
mov eax, dword [esp + 0x20]
mov byte [eax], 0x30
add eax, 1
add esi, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
lea esp, [esp]
cmp byte [edi + 8], 0
jne 0x4464a3
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x44649c
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x44648b
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x44648b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446492
cmp dword [edx + 4], ebp
jne 0x44639c
cmp byte [edi + 8], 0
jne 0x446431
cmp ecx, ebp
je 0x44642a
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x446419
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x446419
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446420
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44642a
mov byte [edi + 9], al
jmp 0x44642d
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x30
jne 0x44639c
mov ecx, dword [edi + 4]
sub esi, 1
cmp ecx, ebp
mov byte [esp + 0x1b], 1
je 0x44647f
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebp
je 0x44646a
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebp
jle 0x44646a
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 0x446471
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x44647f
mov byte [edi + 8], 0
jmp 0x446310
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
jmp 0x446310
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44649c
mov byte [edi + 9], al
jmp 0x44649f
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
mov edx, dword [esp + 0x1c]
cmp byte [edx + 8], 0
jne 0x4464e9
mov ecx, dword [edx + 4]
cmp ecx, ebp
je 0x4464de
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x4464c9
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x4464c9
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4464d0
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4464de
mov edx, dword [esp + 0x1c]
mov byte [edx + 9], al
jmp 0x4464e5
mov edx, dword [esp + 0x1c]
mov dword [edx + 4], ebp
mov byte [edx + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebp
jne 0x446536
cmp dword [edx + 4], ebp
jne 0x44653b
cmp byte [esp + 0x1b], 0
je 0x446b96
xor ebx, ebx
cmp byte [edi + 8], bl
jne 0x446683
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x44667c
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x446667
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x446667
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x44666e
cmp dword [edx + 4], ebp
jne 0x4464f5
cmp byte [edi + 8], 0
jne 0x446576
cmp ecx, ebp
je 0x44656b
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x44655a
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x44655a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446561
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44656b
mov byte [edi + 9], al
jmp 0x44656e
mov dword [edi + 4], ebp
mov edx, dword [esp + 0x1c]
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x30
jl 0x4464f5
cmp byte [edi + 8], 0
jne 0x4465be
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x4465b3
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x4465a2
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x4465a2
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4465a9
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4465b3
mov byte [edi + 9], al
jmp 0x4465b6
mov dword [edi + 4], ebp
mov edx, dword [esp + 0x1c]
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x39
jg 0x4464f5
cmp ebx, 0x24
jge 0x44661a
cmp byte [edi + 8], 0
jne 0x446607
mov ecx, dword [edi + 4]
cmp ecx, ebp
je 0x446600
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebp
je 0x4465ef
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebp
jle 0x4465ef
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4465f6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446600
mov byte [edi + 9], al
jmp 0x446603
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
mov eax, dword [esp + 0x20]
mov cl, byte [edi + 9]
mov byte [eax], cl
add eax, 1
mov dword [esp + 0x20], eax
add ebx, 1
mov ecx, dword [edi + 4]
cmp ecx, ebp
mov byte [esp + 0x1b], 1
je 0x44665b
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebp
je 0x446646
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebp
jle 0x446646
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 0x44664d
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x44665b
mov byte [edi + 8], 0
jmp 0x4463c0
mov dword [edi + 4], ebp
mov byte [edi + 8], 1
jmp 0x4463c0
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x44667c
mov byte [edi + 9], al
jmp 0x44667f
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edx + 8], 0
jne 0x4466c1
mov ecx, dword [edx + 4]
cmp ecx, ebx
je 0x4466ba
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4466a5
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4466a5
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4466ac
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x4466ba
mov byte [edx + 9], al
jmp 0x4466bd
mov dword [edx + 4], ebx
mov byte [edx + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebx
jne 0x4466d7
cmp dword [edx + 4], ebx
je 0x446b96
xor ebx, ebx
cmp ecx, ebx
je 0x4466e2
cmp dword [edx + 4], ebx
jne 0x446b96
xor ebx, ebx
cmp byte [edi + 8], 0
jne 0x44671d
cmp ecx, ebx
je 0x446716
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x446701
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x446701
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446708
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x446716
mov byte [edi + 9], al
jmp 0x446719
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x65
je 0x44676d
cmp byte [edi + 8], 0
jne 0x446761
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x44675a
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x446745
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x446745
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x44674c
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x44675a
mov byte [edi + 9], al
jmp 0x44675d
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x45
jne 0x446b96
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov byte [eax], 0x65
mov ecx, dword [edi + 4]
add eax, 1
cmp ecx, ebx
mov dword [esp + 0x20], eax
je 0x4467b8
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x4467a2
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x4467a2
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 0x4467a9
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x4467b8
mov byte [edi + 8], 0
jmp 0x4467bf
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
xor ebp, ebp
cmp byte [edi + 8], 0
mov byte [esp + 0x1b], 0
jne 0x446804
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x4467fd
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4467e8
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4467e8
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4467ef
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x4467fd
mov byte [edi + 9], al
jmp 0x446800
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edx + 8], 0
jne 0x446842
mov ecx, dword [edx + 4]
cmp ecx, ebx
je 0x44683b
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x446826
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x446826
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x44682d
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x44683b
mov byte [edx + 9], al
jmp 0x44683e
mov dword [edx + 4], ebx
mov byte [edx + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebx
jne 0x446856
cmp dword [edx + 4], ebx
je 0x446970
cmp ecx, ebx
je 0x44685f
cmp dword [edx + 4], ebx
jne 0x446970
cmp byte [edi + 8], 0
jne 0x446896
cmp ecx, ebx
je 0x44688f
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x44687e
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x44687e
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446885
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x44688f
mov byte [edi + 9], al
jmp 0x446892
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x2b
jne 0x4468dd
mov eax, dword [esp + 0x20]
mov byte [eax], 0x2b
mov ecx, dword [edi + 4]
add eax, 1
cmp ecx, ebx
mov dword [esp + 0x20], eax
je 0x446964
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x446952
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x446952
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 0x446959
cmp byte [edi + 8], 0
jne 0x446917
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x446910
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4468ff
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4468ff
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446906
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446910
mov byte [edi + 9], al
jmp 0x446913
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x2d
jne 0x446970
mov eax, dword [esp + 0x20]
mov byte [eax], 0x2d
mov ecx, dword [edi + 4]
add eax, 1
cmp ecx, ebx
mov dword [esp + 0x20], eax
je 0x446964
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x446952
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x446952
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 0x446959
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x446964
mov byte [edi + 8], 0
jmp 0x446970
mov byte [edi + 8], 1
mov dword [edi + 4], ebx
jmp 0x446970
cmp byte [edi + 8], 0
jne 0x4469aa
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x4469a3
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x446992
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x446992
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446999
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4469a3
mov byte [edi + 9], al
jmp 0x4469a6
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
mov edx, dword [esp + 0x1c]
cmp byte [edx + 8], 0
jne 0x4469ec
mov ecx, dword [edx + 4]
cmp ecx, ebx
je 0x4469e5
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4469d0
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4469d0
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4469d7
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x1c]
je 0x4469e5
mov byte [edx + 9], al
jmp 0x4469e8
mov dword [edx + 4], ebx
mov byte [edx + 8], 1
mov ecx, dword [edi + 4]
cmp ecx, ebx
jne 0x446a4c
cmp dword [edx + 4], ebx
jne 0x446a51
cmp byte [esp + 0x1b], 0
je 0x446a0d
mov eax, dword [esp + 0x20]
mov byte [eax], 0x30
add eax, 1
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x1c]
call fcn.00445aa0
test al, al
je 0x446b92
mov edi, edi
cmp byte [edi + 8], 0
jne 0x446acd
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x446abc
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x446aa3
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x446aa3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446aaa
cmp dword [edx + 4], ebx
jne 0x4469f8
cmp byte [edi + 8], 0
jne 0x446a88
cmp ecx, ebx
je 0x446a81
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x446a70
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x446a70
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446a77
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446a81
mov byte [edi + 9], al
jmp 0x446a84
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
cmp byte [edi + 9], 0x30
jne 0x4469f8
mov esi, edi
mov byte [esp + 0x1b], 1
call fcn.00445a50
jmp 0x446970
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446abc
mov ebx, 1
mov byte [edi + 9], al
mov byte [edi + 8], bl
jmp 0x446ad2
mov ebx, 1
mov dword [edi + 4], 0
mov byte [edi + 8], bl
jmp 0x446ad2
mov ebx, 1
cmp byte [edi + 9], 0x30
jl 0x446b92
cmp byte [edi + 8], 0
jne 0x446b1b
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x446b11
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x446b00
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x446b00
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446b07
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446b11
mov byte [edi + 9], al
jmp 0x446b18
mov dword [edi + 4], 0
mov byte [edi + 8], bl
cmp byte [edi + 9], 0x39
jg 0x446b92
cmp ebp, 8
jge 0x446b76
cmp byte [edi + 8], 0
jne 0x446b65
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x446b5b
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x446b4a
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x446b4a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x446b51
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x446b5b
mov byte [edi + 9], al
jmp 0x446b62
mov dword [edi + 4], 0
mov byte [edi + 8], bl
mov eax, dword [esp + 0x20]
mov cl, byte [edi + 9]
mov byte [eax], cl
add eax, ebx
mov dword [esp + 0x20], eax
add ebp, ebx
mov esi, edi
mov byte [esp + 0x1b], bl
call fcn.00445a50
mov ebx, dword [esp + 0x1c]
call fcn.00445aa0
test al, al
jne 0x446a20
mov esi, dword [esp + 0x28]
cmp byte [esp + 0x27], 0
jne 0x446ba4
cmp byte [esp + 0x1b], 0
jne 0x446baa
mov eax, dword [esp + 0x38]
jmp 0x446bae
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x70], 0x10
mov byte [eax], 0
jb 0x446bc5
mov edx, dword [esp + 0x5c]
push edx
call fcn.00563626
add esp, 4
mov eax, esi
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.00564207
add esp, 0x70
ret