Function at 0x444cb0
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x5c43dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor esi, esi
push edi
mov dword [ebp - 0x98], esi
call fcn.004299d0
mov edi, eax
mov eax, dword [0x5c08f0]
add eax, 0xfffffd00
mov dword [ebp - 0xa4], eax
cmp eax, esi
jge 0x444cef
mov dword [ebp - 0xa4], esi
mov ebx, dword [ebp + 8]
cmp ebx, esi
je 0x444d0d
cmp dword [ebp + 0xc], esi
jne 0x444d0d
call fcn.0044f3e0
test eax, eax
je 0x444d0d
push esi
call fcn.0044f270
add esp, 4
call fcn.0044e600
test eax, eax
je 0x446774
push 0x1000
call fcn.00426050
add esp, 4
test eax, eax
je 0x444d76
push 0xa2
call fcn.0056983d
add esp, 4
test eax, eax
jne 0x444d4d
push 0xa3
call fcn.0056983d
add esp, 4
test eax, eax
je 0x444d76
push 0x51
call fcn.00569860
add esp, 4
test eax, eax
je 0x444d76
push 0x48
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x80002000
call fcn.00426050
add esp, 4
test eax, eax
jne 0x446774
call fcn.0040eae0
mov dword [ebp - 0x8c], eax
test bl, 1
je 0x444dce
mov eax, dword [eax + 0x364]
push eax
call fcn.00582840
add esp, 4
cmp eax, esi
je 0x444dce
cmp word [eax + 0xb2], 0x14
jne 0x444dce
cmp word [eax + 0xd4], 2
jne 0x444dce
and ebx, 0xfffffffe
mov dword [ebp + 8], ebx
mov dword [0x693f94], esi
push 0x1b
call fcn.00569860
add esp, 4
test eax, eax
je 0x444f92
push 0
push 0
push 0
push 0
push 0
call fcn.004516a0
push 0
call fcn.00455140
push 0x1100000
call fcn.00426050
add esp, 0x1c
test eax, eax
je 0x444eaa
push 0x29
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444e2a
call fcn.004e0160
push 3
call fcn.004cb190
add esp, 4
jmp 0x444e68
push 0x2b
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444e49
call fcn.004deef0
push 3
call fcn.004cb190
add esp, 4
jmp 0x444e68
push 0x2a
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444e7f
push 0x2a
call fcn.004cb0e0
push 3
call fcn.004cb190
add esp, 8
test eax, eax
je 0x444f92
push 3
call fcn.004cb0e0
add esp, 4
jmp 0x444f92
push 0x4f
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444e9c
push 0x4f
call fcn.004cb0e0
add esp, 4
jmp 0x444f92
call fcn.004dcca0
cmp eax, 2
jne 0x444f92
push 0x50
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444ec7
push 0x50
call fcn.004cb0e0
add esp, 4
jmp 0x444f92
push 0x49
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444eeb
call fcn.0048d700
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x16
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444f14
push 0x16
call fcn.004cb0e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x37
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444f3d
push 0x37
call fcn.004cb0e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
call fcn.004cb220
mov ebx, eax
call fcn.004cb230
mov esi, eax
cmp ebx, 0xffffffff
jne 0x444f83
cmp esi, ebx
jne 0x444f8d
push 1
call fcn.004cb190
add esp, 4
test eax, eax
je 0x444f6e
push 1
call fcn.004cb0e0
add esp, 4
jmp 0x444f92
push 0
call fcn.004517a0
add esp, 4
test eax, eax
je 0x444ff0
call fcn.0046e360
jmp 0x444f92
call fcn.004cb240
cmp esi, 0xffffffff
je 0x444f92
call fcn.004cb250
push 0xa5
call fcn.00569860
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
test eax, eax
je 0x444fbc
call fcn.0045b900
xor eax, 1
push eax
call fcn.0045b910
add esp, 4
jmp 0x444fe2
push 0xa4
call fcn.0056983d
add esp, 4
test eax, eax
jne 0x444fe2
push 0xa5
call fcn.0056983d
add esp, 4
test eax, eax
je 0x4452a8
push 0x58
call fcn.00569860
add esp, 4
test eax, eax
je 0x44500b
push 0xa
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x41
call fcn.00569860
add esp, 4
test eax, eax
je 0x44503b
push 0x6c
call fcn.004cb0e0
push 2
call fcn.00444340
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x45
call fcn.00569860
add esp, 4
test eax, eax
je 0x445064
push 3
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x53
call fcn.00569860
add esp, 4
test eax, eax
je 0x44508d
push 4
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x51
call fcn.00569860
add esp, 4
test eax, eax
je 0x4450b6
push 9
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x46
call fcn.00569860
add esp, 4
test eax, eax
je 0x4450df
push 8
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x43
call fcn.00569860
add esp, 4
test eax, eax
je 0x445108
push 0xd
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x57
call fcn.00569860
add esp, 4
test eax, eax
je 0x445131
push 7
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x44
call fcn.00569860
add esp, 4
test eax, eax
je 0x44515a
push 5
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x4e
call fcn.00569860
add esp, 4
test eax, eax
je 0x445183
push 0x13
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x52
call fcn.00569860
add esp, 4
test eax, eax
je 0x4451ac
push 0x2e
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x5a
call fcn.00569860
add esp, 4
test eax, eax
je 0x4451d0
call fcn.004e4e50
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x42
call fcn.00569860
add esp, 4
test eax, eax
je 0x4451f9
push 0x50
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x56
call fcn.00569860
add esp, 4
test eax, eax
je 0x445213
xor dword [0x640ca8], 1
jmp 0x4452a8
push 0x4a
call fcn.00569860
add esp, 4
test eax, eax
je 0x445410
call fcn.0047ff90
test eax, eax
je 0x44533d
call fcn.004fb430
test eax, eax
jne 0x44529b
call fcn.0040eae0
mov eax, dword [eax + 0xb326]
test eax, eax
je 0x44534a
push eax
call fcn.00441520
add esp, 4
test eax, eax
je 0x44534a
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 0x10]
push ecx
inc edx
push edx
push 0x5189
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebp - 0x84]
push eax
call esi
lea ecx, [ebp - 0x84]
push ecx
call fcn.004e4570
add esp, 0x1c
jmp 0x44534a
push 0x5188
call fcn.004e46c0
add esp, 4
xor edi, edi
push 0xa4
mov dword [ebp - 0x88], edi
call fcn.0056983d
add esp, 4
test eax, eax
jne 0x4452d2
push 0xa5
call fcn.0056983d
add esp, 4
test eax, eax
je 0x4452ea
push 0xc0
call fcn.00569860
add esp, 4
test eax, eax
je 0x4452ea
or dword [0x640cb0], 1
push 0xa2
call fcn.0056983d
add esp, 4
test eax, eax
jne 0x445310
push 0xa3
call fcn.0056983d
add esp, 4
test eax, eax
je 0x4458d6
push 0x31
call fcn.00569860
add esp, 4
test eax, eax
je 0x445672
push edi
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 1
jmp 0x4457d2
call fcn.004fb420
test eax, eax
je 0x445406
push 3
call fcn.004cb190
add esp, 4
test eax, eax
jne 0x4453a4
push eax
push 3
call fcn.004cbbf0
push 0x29
call fcn.004cb190
add esp, 0xc
test eax, eax
jne 0x4452a8
push 0x2a
call fcn.004cb190
add esp, 4
test eax, eax
jne 0x4452a8
call fcn.004dcca0
test eax, eax
jne 0x4453e7
push eax
call fcn.004ddf00
push 0
push 0x29
call fcn.004cbbf0
add esp, 0xc
jmp 0x4452a8
push 0x29
call fcn.004cb190
add esp, 4
test eax, eax
je 0x4453c3
call fcn.004e0160
push 3
call fcn.004cb0e0
jmp 0x4452a5
push 0x2a
call fcn.004cb190
add esp, 4
test eax, eax
je 0x445384
push 0x2a
call fcn.004cb0e0
push 3
call fcn.004cb0e0
add esp, 8
jmp 0x4452a8
call fcn.004dcca0
cmp eax, 2
jne 0x4452a8
push 0
push 0x2a
call fcn.004cbbf0
add esp, 8
jmp 0x4452a8
push 0x4f72
jmp 0x4452a0
push 0x59
call fcn.00569860
add esp, 4
test eax, eax
je 0x445439
push 0x36
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x49
call fcn.00569860
add esp, 4
test eax, eax
je 0x445487
call fcn.0047ff90
test eax, eax
je 0x446774
push 0x16
call fcn.004cb190
add esp, 4
test eax, eax
je 0x44546c
push 0x16
call fcn.004cb0e0
add esp, 4
push 1
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x54
call fcn.00569860
add esp, 4
test eax, eax
je 0x4454d5
call fcn.0047ff90
test eax, eax
je 0x446774
push 1
call fcn.004cb190
add esp, 4
test eax, eax
je 0x4454ba
push 1
call fcn.004cb0e0
add esp, 4
push 0x16
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x48
call fcn.00569860
add esp, 4
test eax, eax
je 0x44550b
call fcn.0047ffa0
test eax, eax
je 0x446774
push 0x37
call fcn.00444340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x47
call fcn.00569860
add esp, 4
test eax, eax
je 0x44552f
call fcn.00513740
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x4d
call fcn.00569860
add esp, 4
test eax, eax
je 0x445583
push 0x55
call fcn.004cb190
add esp, 4
test eax, eax
je 0x445566
push 0x55
call fcn.004cb0e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 9
push 0x55
call fcn.004cbbf0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x4c
call fcn.00569860
add esp, 4
test eax, eax
je 0x4455d7
push 0x5c
call fcn.004cb190
add esp, 4
test eax, eax
je 0x4455ba
push 0x5c
call fcn.004cb0e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0
push 0x5c
call fcn.004cbbf0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x55
call fcn.00569860
add esp, 4
test eax, eax
je 0x445614
push 1
call fcn.004cb190
add esp, 4
push 1
test eax, eax
jne 0x444efb
push 1
call fcn.004cbbf0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x50
call fcn.00569860
add esp, 4
test eax, eax
je 0x4452a8
mov eax, dword [edi]
test al, 1
je 0x44564f
and eax, 0xfffffffe
push 0x4c5f25
mov dword [edi], eax
call fcn.004e46c0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
or eax, 1
push 0x4c5f24
mov dword [edi], eax
call fcn.004e46c0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
push 0x32
call fcn.00569860
add esp, 4
test eax, eax
je 0x44569c
push 1
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 2
jmp 0x4457d2
push 0x33
call fcn.00569860
add esp, 4
test eax, eax
je 0x4456c6
push 2
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 3
jmp 0x4457d2
push 0x34
call fcn.00569860
add esp, 4
test eax, eax
je 0x4456f0
push 3
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 4
jmp 0x4457d2
push 0x35
call fcn.00569860
add esp, 4
test eax, eax
je 0x44571a
push 4
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 5
jmp 0x4457d2
push 0x36
call fcn.00569860
add esp, 4
test eax, eax
je 0x445744
push 5
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 6
jmp 0x4457d2
push 0x37
call fcn.00569860
add esp, 4
test eax, eax
je 0x44576b
push 6
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 7
jmp 0x4457d2
push 0x38
call fcn.00569860
add esp, 4
test eax, eax
je 0x44578e
push 7
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 8
jmp 0x4457d2
push 0x39
call fcn.00569860
add esp, 4
test eax, eax
je 0x4457b1
push 8
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 9
jmp 0x4457d2
push 0x30
call fcn.00569860
add esp, 4
test eax, eax
je 0x4457ff
push 9
call fcn.004d3e00
add esp, 4
test eax, eax
je 0x4457ff
mov eax, 0xa
dec eax
push eax
call fcn.00415950
add esp, 4
push eax
push 0x4ef4
call fcn.004865f0
add esp, 4
push eax
push 0x69267c
call esi
push 0x69267c
call fcn.004e4570
add esp, 0x10
push 0x51
call fcn.00569860
add esp, 4
test eax, eax
je 0x44581d
push edi
call fcn.004d3da0
mov eax, 0x4f52
jmp 0x4458a7
push 0x57
call fcn.00569860
add esp, 4
test eax, eax
je 0x445839
push 1
call fcn.004d3da0
mov eax, 0x4f53
jmp 0x4458a7
push 0x41
call fcn.00569860
add esp, 4
test eax, eax
je 0x445855
push 2
call fcn.004d3da0
mov eax, 0x4f54
jmp 0x4458a7
push 0x53
call fcn.00569860
add esp, 4
test eax, eax
je 0x445871
push 3
call fcn.004d3da0
mov eax, 0x4f55
jmp 0x4458a7
push 0x5a
call fcn.00569860
add esp, 4
test eax, eax
je 0x44588d
push 4
call fcn.004d3da0
mov eax, 0x5112
jmp 0x4458a7
push 0x58
call fcn.00569860
add esp, 4
test eax, eax
je 0x4458d6
push 5
call fcn.004d3da0
mov eax, 0x5113
add esp, 4
push eax
call fcn.004865f0
add esp, 4
push eax
push 0x4ef4
call fcn.004865f0
add esp, 4
push eax
push 0x69267c
call esi
push 0x69267c
call fcn.004e4570
add esp, 0x10
call fcn.00565f40
mov esi, dword [0x640bcc]
mov ecx, eax
mov dword [ebp - 0xa0], ecx
cmp esi, edi
je 0x445902
sub eax, dword [0x640bd0]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x445902
mov dword [0x640bcc], edi
mov esi, dword [0x640bc8]
cmp esi, edi
je 0x445923
mov eax, ecx
sub eax, dword [0x640bc4]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x445923
mov dword [0x640bc8], edi
mov esi, dword [0x693f14]
cmp esi, edi
je 0x445944
mov eax, ecx
sub eax, dword [0x693f5c]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x445944
mov dword [0x693f14], edi
call fcn.004e3b90
mov ebx, eax
xor esi, esi
lea ecx, [ecx]
lea edx, [esi + 0x78]
push edx
call fcn.00569860
add esp, 4
test eax, eax
je 0x445964
cmp ebx, esi
jne 0x44596c
inc esi
cmp esi, 4
jl 0x445950
jmp 0x445991
push esi
call fcn.004e3b60
add esp, 4
call fcn.004e3b90
mov ebx, eax
mov eax, dword [0x5c07a8]
mov dword [0x6340ec], ebx
test eax, eax
js 0x445991
mov byte [eax + 0x694d28], bl
cmp dword [0x640bc8], edi
jne 0x4459f6
push 0xa4
call fcn.0056983d
add esp, 4
test eax, eax
jne 0x4459bb
push 0xa5
call fcn.0056983d
add esp, 4
test eax, eax
je 0x4459f6
mov edi, dword [ebp - 0x8c]
xor esi, esi
lea eax, [esi + 0x31]
push eax
call fcn.00569860
add esp, 4
test eax, eax
je 0x4459ee
movzx eax, byte [esi + edi + 0x4c7]
test eax, eax
je 0x4459ee
push eax
call fcn.0046e6d0
add esp, 4
inc dword [ebp - 0x88]
inc esi
cmp esi, 8
jl 0x4459c3
jmp 0x4459fc
mov edi, dword [ebp - 0x8c]
push 0x1100000
mov dword [ebp - 0x94], 0
call fcn.00426050
add esp, 4
test eax, eax
jne 0x446704
mov ecx, dword [edi + 0x364]
push ecx
call fcn.00582840
add esp, 4
test eax, eax
je 0x445a44
test dword [eax + 0xa4], 0x400
je 0x445a44
mov dword [ebp - 0x94], 1
cmp dword [edi + 0x3f1], 0
jbe 0x44671a
mov eax, dword [ebp - 0x8c]
lea edx, [ebx*8]
shl ebx, 5
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x9c], 0x70
lea edi, [ebx + eax + 0x44a]
jmp 0x445a80
movzx esi, word [edi - 2]
test esi, esi
je 0x445b78
movzx ebx, byte [edi - 3]
test ebx, ebx
je 0x445b78
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00569860
add esp, 4
test eax, eax
je 0x445b3a
test bl, 1
je 0x445abe
mov edx, 1
jmp 0x445b54
test bl, 2
je 0x445b6f
cmp dword [0x640bd4], 0
je 0x445ae9
mov dword [0x640bc8], 0
cmp esi, 0x111
je 0x445af2
call fcn.00444330
jmp 0x445af2
cmp dword [0x640bc8], 0
jne 0x445b32
cmp esi, 0x12
jne 0x445b1b
call fcn.0048e790
test eax, eax
jne 0x445b1b
push 0x50a5
call fcn.004865f0
push eax
call fcn.004e4570
add esp, 8
mov dword [0x640bb8], esi
jmp 0x445b6f
movzx eax, byte [edi]
push eax
push esi
call fcn.00444370
and dword [ebp + 8], 0xfffffffe
add esp, 8
inc dword [0x640bc8]
mov dword [0x640bb8], esi
jmp 0x445b6f
test bl, 1
je 0x445b78
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.0056983d
add esp, 4
test eax, eax
je 0x445b78
xor edx, edx
mov eax, dword [ebp - 0x90]
push 0xffffffffffffffff
push eax
push 4
push esi
mov word [0x693f84], dx
call fcn.004f00a0
add esp, 0x10
cmp dword [ebp - 0x88], 0
jne 0x445b9a
mov eax, dword [ebp - 0x9c]
inc dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x9c], eax
add eax, 0xffffff90
add edi, 4
cmp eax, 8
jl 0x445a80
cmp dword [0x640bc8], 0
jne 0x445d4c
cmp dword [0x693f14], 0
jne 0x445d4c
push 9
call fcn.0056983d
add esp, 4
test eax, eax
je 0x445d26
call fcn.004437a0
cmp dword [ebp - 0x94], 0
jne 0x445d26
mov ecx, dword [0x693f94]
mov eax, dword [0x640bf8]
mov edi, eax
test ecx, ecx
je 0x445bfd
mov edx, dword [0x693f24]
mov dword [0x640bf0], ecx
mov dword [0x640bf4], edx
jmp 0x445c03
mov ecx, dword [0x640bf0]
test ecx, ecx
je 0x445c20
push ecx
call fcn.00489710
mov ecx, dword [0x640bf0]
mov dword [0x693f7c], eax
mov eax, dword [0x640bf8]
add esp, 4
test eax, eax
je 0x445c4d
test ecx, ecx
je 0x445c35
cmp dword [0x693f7c], 1
je 0x445c35
xor edi, edi
jmp 0x445c4d
push eax
call fcn.00467a40
mov ecx, dword [0x640bf0]
add esp, 4
test eax, eax
jne 0x445c81
mov eax, dword [0x640bf8]
test ecx, ecx
je 0x445c6c
cmp dword [0x693f7c], 1
je 0x446774
mov esi, dword [0x693f0c]
mov ebx, dword [0x693f40]
jmp 0x445c92
mov esi, dword [0x693f0c]
mov ebx, dword [0x693f40]
xor eax, eax
mov dword [0x640bf8], eax
jmp 0x445c92
mov esi, dword [eax + 0x124]
mov ebx, dword [eax + 0x128]
mov eax, dword [0x640bf8]
test ecx, ecx
je 0x445cea
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax + 0x395]
cmp eax, 0x19
je 0x445d26
cmp eax, 0x1a
je 0x445d26
call fcn.004517d0
test eax, eax
jne 0x445d26
mov ecx, dword [0x640bf4]
mov edx, dword [0x640bf0]
inc dword [ebp - 0x88]
or dword [ebp + 8], 2
push ecx
push edx
push ebx
push esi
push edi
call fcn.004516a0
mov eax, dword [ebp - 0xa0]
add esp, 0x14
mov dword [0x693f5c], eax
jmp 0x445d1c
test eax, eax
je 0x445d26
mov ecx, dword [ebp - 0x8c]
cmp byte [ecx + 0x395], 9
je 0x445d26
inc dword [ebp - 0x88]
and dword [ebp + 8], 0xfffffffe
push eax
call fcn.00455140
mov edx, dword [ebp - 0xa0]
add esp, 4
mov dword [0x693f5c], edx
mov dword [0x693f14], 0x1f4
cmp dword [ebp - 0x88], 0
jne 0x445d4c
push 0x2d
call fcn.00569860
add esp, 4
test eax, eax
je 0x445d4c
call fcn.0046e560
mov dword [ebp - 0x88], 1
test byte [ebp + 8], 1
je 0x44671a
mov dword [0x640bb8], 0
call fcn.004437a0
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x445db0
call fcn.004510e0
call fcn.0049f2e0
test eax, eax
je 0x445db0
cmp dword [0x640be4], esi
jne 0x445da3
call fcn.0044cda0
test al, 1
je 0x445d9e
call fcn.0044cda0
and eax, 0xfffffffe
push eax
call fcn.0044cd90
add esp, 4
jmp 0x445da3
call fcn.0044cd70
cmp dword [0x693f94], 0
je 0x446774
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x364]
push ecx
call fcn.00582840
mov edi, eax
add esp, 4
mov dword [ebp - 0x90], edi
test edi, edi
je 0x4466b2
push edi
call fcn.004034a0
add esp, 4
cmp dword [0x640bc8], 0
je 0x445df4
cmp dword [0x640bd4], 0
jne 0x4466a3
cmp dword [0x640b94], 0
jne 0x445e1c
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push 0x5f4000
push esi
push edx
push eax
call fcn.004442b0
add esp, 0x10
cmp eax, 1
je 0x445f5c
test esi, esi
jne 0x446410
call fcn.00465340
mov esi, dword [0x640b94]
test esi, esi
jne 0x445e6a
mov esi, dword [0x640b98]
test esi, esi
je 0x446348
push esi
mov dword [ebp - 0x98], 1
call fcn.00467a40
add esp, 4
test eax, eax
je 0x445e6a
mov ecx, dword [eax + 0x124]
mov edx, dword [eax + 0x128]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], edx
cmp dword [0x693f94], 0
je 0x445e93
mov eax, dword [0x640bfc]
cmp eax, 7
je 0x445fb4
cmp eax, 6
je 0x446032
cmp eax, 8
je 0x446037
push esi
call fcn.00467a40
add esp, 4
test eax, eax
je 0x445ecf
mov edx, dword [eax + 0x128]
mov eax, dword [eax + 0x124]
mov ecx, dword [edi + 0x128]
push edx
mov edx, dword [edi + 0x124]
push eax
push ecx
push edx
call fcn.005832d0
add esp, 0x10
cmp eax, 0x980
jge 0x4466a3
test esi, esi
je 0x446348
cmp dword [0x640bd4], 0
jne 0x446367
push esi
call fcn.0047b450
add esp, 4
test eax, eax
je 0x446106
push esi
call fcn.00467a40
add esp, 4
test eax, eax
je 0x446106
push eax
call fcn.00451c10
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x446106
call fcn.0040eae0
mov edi, dword [eax + 0xb2d8]
mov eax, dword [0x693e30]
push eax
call fcn.0040eae0
mov ecx, dword [eax + 0xb2dc]
push ecx
call fcn.00444a80
or eax, edi
push eax
push 0
push ebx
call fcn.0040eae0
add eax, 0x32c
push eax
call fcn.004841a0
add esp, 0x18
test eax, eax
jne 0x446106
cmp dword [0x693f94], 0
je 0x446060
mov eax, dword [0x693f7c]
cmp eax, 2
je 0x446491
cmp dword [0x640bfc], 3
je 0x446491
cmp eax, 1
jne 0x4466a3
mov esi, dword [0x640b94]
test esi, esi
jne 0x446493
mov esi, dword [0x640b98]
test esi, esi
je 0x4466a3
inc dword [ebp - 0x98]
jmp 0x446493
push esi
call fcn.004172e0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4466a3
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + ebx*4 + 0xb225]
cmp eax, 0xffff
je 0x4466a3
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0xcd66]
movzx ecx, word [ecx + 0xcd6a]
push edx
push ecx
push eax
call fcn.004045e0
add esp, 0xc
test eax, eax
jne 0x446019
push 0x536a
call fcn.004865f0
push eax
call fcn.004e4570
add esp, 8
jmp 0x4466a3
call fcn.004c6640
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [ebx + edx + 0xb288]
cmp ecx, eax
je 0x446049
jmp 0x446001
cmp eax, 8
jne 0x446049
mov edx, dword [ebp - 0x8c]
cmp esi, dword [edx + 0x1296]
jne 0x4466a3
mov eax, dword [edi + 0x124]
mov ecx, dword [edi + 0x128]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], ecx
jmp 0x445ecf
call fcn.00444a20
test eax, eax
jne 0x4466a3
mov esi, dword [0x693f34]
mov ebx, dword [0x693f70]
lea edx, [esi - 0x40]
push ebx
push edx
call fcn.0048bad0
add esp, 8
test eax, 0x5f4000
je 0x4460a3
lea edi, [esi + 0x40]
push ebx
push edi
call fcn.0048bad0
add esp, 8
test eax, 0x5f4000
jne 0x4460a3
mov esi, edi
push 0x40
push esi
call fcn.0047a110
push 0x40
push ebx
mov esi, eax
call fcn.0047a110
add esp, 0x10
mov ebx, eax
call fcn.004517d0
test eax, eax
jne 0x4460f2
push eax
call fcn.004517a0
add esp, 4
test eax, eax
jne 0x4460f2
cmp dword [ebp - 0x94], eax
jne 0x4460f2
push ebx
push esi
call fcn.0046d720
inc dword [ebp - 0x88]
add esp, 8
call fcn.00465340
jmp 0x4466a3
push ebx
push esi
call fcn.00458190
add esp, 8
call fcn.00465340
jmp 0x4466a3
push esi
call fcn.0047b440
add esp, 4
test eax, eax
je 0x4461cc
cmp dword [0x693f94], 0
jne 0x4461cc
push esi
call fcn.00467a40
add esp, 4
test eax, eax
je 0x4461cc
push eax
call fcn.00451c10
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4461cc
call fcn.0040eae0
mov edi, dword [eax + 0xb2d8]
mov eax, dword [0x693e30]
push eax
call fcn.0040eae0
mov ecx, dword [eax + 0xb2dc]
push ecx
call fcn.00444a80
or eax, edi
push eax
push 0
push ebx
call fcn.0040eae0
add eax, 0x32c
push eax
call fcn.004841a0
add esp, 0x18
test eax, eax
jne 0x4461cc
call fcn.00444a40
test eax, eax
je 0x446342
push esi
call fcn.0044f270
add esp, 4
add ebx, 0x29
push ebx
push 0x5e6c
call fcn.004865f0
add esp, 4
push eax
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x69267c
call fcn.004e4570
add esp, 0x10
jmp 0x4466a3
push esi
call fcn.00467a40
add esp, 4
test eax, eax
je 0x446234
push eax
call fcn.00451c10
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x446234
test dword [ebx], 0x10008000
je 0x446234
call fcn.0040eae0
mov edx, dword [0x693e30]
mov edi, dword [eax + 0xb2d8]
push edx
call fcn.0040eae0
mov eax, dword [eax + 0xb2dc]
push eax
call fcn.00444a80
or eax, edi
push eax
push 0
push ebx
call fcn.0040eae0
add eax, 0x32c
push eax
call fcn.004841a0
add esp, 0x18
test eax, eax
je 0x446342
cmp dword [0x640be0], 0
je 0x44626f
mov eax, dword [0x640bf0]
test eax, eax
je 0x44626f
cmp dword [0x640bec], 0
je 0x44626f
mov ecx, dword [0x640bf4]
mov dword [0x640be4], 0
mov dword [0x693f94], eax
mov dword [0x693f24], ecx
jmp 0x44647f
cmp dword [0x693f94], 0
jne 0x44647f
call fcn.00444a20
test eax, eax
je 0x446334
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x82aa], 0
je 0x44629e
mov dword [eax + 0xcadd], esi
cmp dword [eax + 0x8355], 0
je 0x4462ad
mov dword [eax + 0xcb12], esi
cmp dword [eax + 0x8400], 0
je 0x4462bc
mov dword [eax + 0xcb47], esi
cmp dword [eax + 0x84ab], 0
je 0x4462cb
mov dword [eax + 0xcb7c], esi
cmp dword [eax + 0x8556], 0
je 0x4462da
mov dword [eax + 0xcbb1], esi
cmp dword [eax + 0x8601], 0
je 0x4462e9
mov dword [eax + 0xcbe6], esi
cmp dword [eax + 0x86ac], 0
je 0x4462f8
mov dword [eax + 0xcc1b], esi
cmp dword [eax + 0x8757], 0
je 0x446307
mov dword [eax + 0xcc50], esi
cmp dword [eax + 0x8802], 0
je 0x446316
mov dword [eax + 0xcc85], esi
cmp dword [eax + 0x88ad], 0
je 0x4466a3
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0xccba], esi
jmp 0x4466a3
push esi
call fcn.00455140
add esp, 4
jmp 0x4466a3
mov edi, dword [ebp - 0x90]
cmp dword [0x640bd4], 0
jne 0x446367
cmp dword [0x693f94], 0
je 0x446367
cmp dword [0x693f7c], 2
je 0x446491
call fcn.00444a20
test eax, eax
jne 0x4466a3
call fcn.004517d0
test eax, eax
jne 0x4466a3
push eax
call fcn.004517a0
add esp, 4
test eax, eax
jne 0x4466a3
cmp dword [ebp - 0x94], eax
jne 0x4466a3
mov ecx, dword [0x693f34]
push eax
mov eax, dword [0x693f70]
sar eax, 6
push eax
sar ecx, 6
push ecx
push edi
call fcn.00403a20
add esp, 0x10
cmp eax, 0xffffffff
je 0x4466a3
mov ecx, dword [ebp - 0x8c]
lea edx, [ebp - 0xac]
push edx
movzx edx, byte [ecx + 0x330]
push edx
movzx ecx, ax
sar eax, 0x10
movzx edx, ax
shl ecx, 6
push ecx
shl edx, 6
push edx
call fcn.00403580
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xac]
push eax
push ecx
call fcn.0046d720
add esp, 0x18
inc dword [ebp - 0x88]
jmp 0x4466a3
mov eax, dword [ebp - 0xa4]
lea edx, [eax + 0x92]
push edx
push 0x104
add eax, 0x26e
push eax
push 0
call fcn.004f8890
add esp, 0x10
test eax, eax
je 0x446688
cmp dword [0x693f94], 0
je 0x4466a3
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x364]
push ecx
call fcn.00582840
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4466a3
call fcn.0044eec0
mov edx, dword [ebx + 0x124]
mov esi, eax
mov eax, dword [ebx + 0x128]
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], eax
cmp dword [0x693f7c], 2
je 0x446491
cmp dword [0x640bfc], 3
jne 0x446493
xor esi, esi
cmp dword [0x640be4], 0
je 0x44658b
push 0
call fcn.004517a0
add esp, 4
test eax, eax
jne 0x4466a3
call fcn.0049f2e0
test al, 4
je 0x4466a3
mov ecx, dword [0x640be4]
push ecx
call fcn.00444890
add esp, 4
test eax, eax
je 0x4466a3
push ecx
call fcn.0047a480
add esp, 4
test eax, eax
jne 0x446541
mov ecx, dword [0x640be4]
push ecx
call fcn.0047a4a0
add esp, 4
test eax, eax
jne 0x446541
mov edx, dword [0x640be4]
push edx
call fcn.0047a4c0
add esp, 4
test eax, eax
jne 0x446541
mov eax, dword [0x640be4]
push eax
call fcn.0047a510
add esp, 4
test eax, eax
jne 0x446541
mov ecx, dword [0x640be4]
push ecx
call fcn.0047a4e0
add esp, 4
test eax, eax
jne 0x446541
mov edx, dword [0x640be4]
push edx
call fcn.0047a540
add esp, 4
test eax, eax
je 0x446550
call fcn.0044cd70
mov dword [0x693f94], 0
mov eax, dword [0x640be4]
push eax
call fcn.0047a570
add esp, 4
test eax, eax
jne 0x4466a3
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
movzx eax, word [0x640be4]
push ecx
mov ecx, dword [0x640be8]
push edx
push esi
push eax
push ecx
call fcn.004ef9a0
add esp, 0x14
jmp 0x4466a3
call fcn.004517d0
test eax, eax
jne 0x446626
push eax
call fcn.004517a0
add esp, 4
test eax, eax
jne 0x446626
cmp dword [ebp - 0x94], eax
jne 0x446626
cmp dword [ebp - 0x98], eax
je 0x44660f
test esi, esi
je 0x44660f
mov eax, dword [0x640bfc]
cmp eax, 7
je 0x4465f7
cmp eax, 6
je 0x4465f7
cmp eax, 8
je 0x4465f7
push esi
call fcn.00467a40
add esp, 4
test eax, eax
je 0x44667c
mov edx, dword [0x693f24]
push edx
mov edx, dword [eax + 0x128]
mov eax, dword [eax + 0x124]
jmp 0x44666a
mov ecx, dword [0x693f24]
mov edx, dword [0x693f94]
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
push eax
push ecx
jmp 0x446673
mov edx, dword [0x693f24]
mov eax, dword [0x693f94]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
jmp 0x446673
cmp dword [ebp - 0x98], 0
je 0x44665e
test esi, esi
je 0x44665e
push esi
call fcn.00467a40
add esp, 4
test eax, eax
je 0x44667c
mov ecx, dword [0x693f24]
mov edx, dword [0x693f94]
push ecx
mov ecx, dword [eax + 0x128]
push edx
mov edx, dword [eax + 0x124]
push ecx
push edx
jmp 0x446673
mov eax, dword [0x693f24]
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x693f94]
push ecx
push edx
push eax
push esi
call fcn.004516a0
add esp, 0x14
mov dword [0x693f94], 0
jmp 0x4466a3
mov eax, dword [0x640be4]
test eax, eax
je 0x4466a3
push eax
call fcn.0047a570
add esp, 4
test eax, eax
je 0x4466a3
call fcn.004447c0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00403510
add esp, 4
xor esi, esi
mov dword [0x693f94], esi
cmp dword [0x640be4], esi
je 0x4466cd
mov dword [0x640be4], esi
call fcn.0044cd70
cmp word [0x693efc], si
je 0x44671a
push 0
call fcn.0044eec0
movzx edx, word [0x693efc]
push eax
push edx
call fcn.00479d30
add esp, 0xc
test eax, eax
je 0x44671a
push 0
push 0
push 0
push 0
call fcn.004448f0
add esp, 0x10
jmp 0x44671a
push 0x100000
call fcn.00426050
add esp, 4
test eax, eax
jne 0x44671a
call fcn.00444ae0
xor edi, edi
test byte [ebp + 8], 2
je 0x4467ed
mov dword [0x640c00], edi
cmp dword [0x693f94], edi
je 0x446785
mov dword [0x693f94], edi
call fcn.0044cd70
mov dword [0x640be4], edi
mov dword [0x640c00], edi
cmp dword [ebp - 0x88], edi
je 0x446769
mov ecx, dword [ebp - 0xa0]
mov dword [0x640bc8], 0xc8
mov dword [0x640bc4], ecx
push edi
push edi
push edi
call fcn.0044e2e0
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005517d0
mov esp, ebp
pop ebp
ret
call fcn.0049f2e0
test eax, eax
je 0x446795
call fcn.0044cd70
jmp 0x446745
cmp dword [ebp + 0xc], edi
jne 0x44674b
mov esi, dword [0x640b94]
cmp esi, edi
je 0x4467d6
push esi
call fcn.0047b440
add esp, 4
test eax, eax
je 0x44674b
call fcn.0044eec0
cmp esi, eax
je 0x44674b
mov eax, dword [0x62b7c4]
mov ecx, dword [0x62b7c0]
push edi
push esi
push eax
push ecx
call fcn.0048ded0
add esp, 0x10
jmp 0x44674b
mov edx, dword [0x62b7c4]
inc dword [0x640c00]
mov dword [0x693f08], edx
jmp 0x44674b
cmp dword [0x640c00], edi
je 0x44674b
test byte [0x695464], 2
je 0x446745
mov esi, dword [0x693f08]
sub esi, dword [0x62b7c4]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jl 0x44674b
call fcn.00441970
add eax, esi
push eax
call fcn.00441900
mov eax, dword [0x62b7c4]
add esp, 4
mov dword [0x693f08], eax
jmp 0x44674b