Function at 0x444c50
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x5c53dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor esi, esi
push edi
mov dword [ebp - 0x98], esi
call fcn.00429c20
mov edi, eax
mov eax, dword [0x5c18f0]
add eax, 0xfffffd00
mov dword [ebp - 0xa4], eax
cmp eax, esi
jge 0x444c8f
mov dword [ebp - 0xa4], esi
mov ebx, dword [ebp + 8]
cmp ebx, esi
je 0x444cad
cmp dword [ebp + 0xc], esi
jne 0x444cad
call fcn.0044f3b0
test eax, eax
je 0x444cad
push esi
call fcn.0044f240
add esp, 4
call fcn.0044e5d0
test eax, eax
je 0x446714
push 0x1000
call fcn.00426230
add esp, 4
test eax, eax
je 0x444d16
push 0xa2
call fcn.00569e7d
add esp, 4
test eax, eax
jne 0x444ced
push 0xa3
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x444d16
push 0x51
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x444d16
push 0x48
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x80002000
call fcn.00426230
add esp, 4
test eax, eax
jne 0x446714
call fcn.0040e810
mov dword [ebp - 0x8c], eax
test bl, 1
je 0x444d6e
mov eax, dword [eax + 0x364]
push eax
call fcn.00582ef0
add esp, 4
cmp eax, esi
je 0x444d6e
cmp word [eax + 0xb2], 0x14
jne 0x444d6e
cmp word [eax + 0xd4], 2
jne 0x444d6e
and ebx, 0xfffffffe
mov dword [ebp + 8], ebx
mov dword [0x6a0834], esi
push 0x1b
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x444f32
push 0
push 0
push 0
push 0
push 0
call fcn.00451670
push 0
call fcn.004550f0
push 0x1100000
call fcn.00426230
add esp, 0x1c
test eax, eax
je 0x444e4a
push 0x29
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444dca
call fcn.004e0020
push 3
call fcn.004cb030
add esp, 4
jmp 0x444e08
push 0x2b
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444de9
call fcn.004ded80
push 3
call fcn.004cb030
add esp, 4
jmp 0x444e08
push 0x2a
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444e1f
push 0x2a
call fcn.004caf80
push 3
call fcn.004cb030
add esp, 8
test eax, eax
je 0x444f32
push 3
call fcn.004caf80
add esp, 4
jmp 0x444f32
push 0x4f
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444e3c
push 0x4f
call fcn.004caf80
add esp, 4
jmp 0x444f32
call fcn.004dcb20
cmp eax, 2
jne 0x444f32
push 0x50
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444e67
push 0x50
call fcn.004caf80
add esp, 4
jmp 0x444f32
push 0x49
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444e8b
call fcn.0048d180
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x16
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444eb4
push 0x16
call fcn.004caf80
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x37
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444edd
push 0x37
call fcn.004caf80
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
call fcn.004cb0c0
mov ebx, eax
call fcn.004cb0d0
mov esi, eax
cmp ebx, 0xffffffff
jne 0x444f23
cmp esi, ebx
jne 0x444f2d
push 1
call fcn.004cb030
add esp, 4
test eax, eax
je 0x444f0e
push 1
call fcn.004caf80
add esp, 4
jmp 0x444f32
push 0
call fcn.00451770
add esp, 4
test eax, eax
je 0x444f90
call fcn.0046e480
jmp 0x444f32
call fcn.004cb0e0
cmp esi, 0xffffffff
je 0x444f32
call fcn.004cb0f0
push 0xa5
call fcn.00569ea0
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
test eax, eax
je 0x444f5c
call fcn.0045b8c0
xor eax, 1
push eax
call fcn.0045b8d0
add esp, 4
jmp 0x444f82
push 0xa4
call fcn.00569e7d
add esp, 4
test eax, eax
jne 0x444f82
push 0xa5
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x445248
push 0x58
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x444fab
push 0xa
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x41
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x444fdb
push 0x6c
call fcn.004caf80
push 2
call fcn.004442e0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x45
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445004
push 3
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x53
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44502d
push 4
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x51
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445056
push 9
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x46
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44507f
push 8
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x43
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4450a8
push 0xd
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x57
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4450d1
push 7
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x44
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4450fa
push 5
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x4e
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445123
push 0x13
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x52
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44514c
push 0x2e
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x5a
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445170
call fcn.004e4d20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x42
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445199
push 0x50
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x56
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4451b3
xor dword [0x6420b8], 1
jmp 0x445248
push 0x4a
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4453b0
call fcn.0047fb40
test eax, eax
je 0x4452dd
call fcn.004fb2b0
test eax, eax
jne 0x44523b
call fcn.0040e810
mov eax, dword [eax + 0xe210]
test eax, eax
je 0x4452ea
push eax
call fcn.00441520
add esp, 4
test eax, eax
je 0x4452ea
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.00486120
add esp, 4
push eax
lea eax, [ebp - 0x84]
push eax
call esi
lea ecx, [ebp - 0x84]
push ecx
call fcn.004e4420
add esp, 0x1c
jmp 0x4452ea
push 0x5188
call fcn.004e4590
add esp, 4
xor edi, edi
push 0xa4
mov dword [ebp - 0x88], edi
call fcn.00569e7d
add esp, 4
test eax, eax
jne 0x445272
push 0xa5
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x44528a
push 0xc0
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44528a
or dword [0x6420c0], 1
push 0xa2
call fcn.00569e7d
add esp, 4
test eax, eax
jne 0x4452b0
push 0xa3
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x445876
push 0x31
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445612
push edi
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 1
jmp 0x445772
call fcn.004fb2a0
test eax, eax
je 0x4453a6
push 3
call fcn.004cb030
add esp, 4
test eax, eax
jne 0x445344
push eax
push 3
call fcn.004cba90
push 0x29
call fcn.004cb030
add esp, 0xc
test eax, eax
jne 0x445248
push 0x2a
call fcn.004cb030
add esp, 4
test eax, eax
jne 0x445248
call fcn.004dcb20
test eax, eax
jne 0x445387
push eax
call fcn.004ddd90
push 0
push 0x29
call fcn.004cba90
add esp, 0xc
jmp 0x445248
push 0x29
call fcn.004cb030
add esp, 4
test eax, eax
je 0x445363
call fcn.004e0020
push 3
call fcn.004caf80
jmp 0x445245
push 0x2a
call fcn.004cb030
add esp, 4
test eax, eax
je 0x445324
push 0x2a
call fcn.004caf80
push 3
call fcn.004caf80
add esp, 8
jmp 0x445248
call fcn.004dcb20
cmp eax, 2
jne 0x445248
push 0
push 0x2a
call fcn.004cba90
add esp, 8
jmp 0x445248
push 0x4f72
jmp 0x445240
push 0x59
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4453d9
push 0x36
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x49
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445427
call fcn.0047fb40
test eax, eax
je 0x446714
push 0x16
call fcn.004cb030
add esp, 4
test eax, eax
je 0x44540c
push 0x16
call fcn.004caf80
add esp, 4
push 1
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x54
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445475
call fcn.0047fb40
test eax, eax
je 0x446714
push 1
call fcn.004cb030
add esp, 4
test eax, eax
je 0x44545a
push 1
call fcn.004caf80
add esp, 4
push 0x16
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x48
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4454ab
call fcn.0047fb50
test eax, eax
je 0x446714
push 0x37
call fcn.004442e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x47
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4454cf
call fcn.005139d0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x4d
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445523
push 0x55
call fcn.004cb030
add esp, 4
test eax, eax
je 0x445506
push 0x55
call fcn.004caf80
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 9
push 0x55
call fcn.004cba90
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x4c
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445577
push 0x5c
call fcn.004cb030
add esp, 4
test eax, eax
je 0x44555a
push 0x5c
call fcn.004caf80
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0
push 0x5c
call fcn.004cba90
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x55
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4455b4
push 1
call fcn.004cb030
add esp, 4
push 1
test eax, eax
jne 0x444e9b
push 1
call fcn.004cba90
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x50
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445248
mov eax, dword [edi]
test al, 1
je 0x4455ef
and eax, 0xfffffffe
push 0x4c5f25
mov dword [edi], eax
call fcn.004e4590
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
or eax, 1
push 0x4c5f24
mov dword [edi], eax
call fcn.004e4590
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push 0x32
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44563c
push 1
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 2
jmp 0x445772
push 0x33
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445666
push 2
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 3
jmp 0x445772
push 0x34
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445690
push 3
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 4
jmp 0x445772
push 0x35
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4456ba
push 4
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 5
jmp 0x445772
push 0x36
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4456e4
push 5
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 6
jmp 0x445772
push 0x37
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44570b
push 6
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 7
jmp 0x445772
push 0x38
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44572e
push 7
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 8
jmp 0x445772
push 0x39
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445751
push 8
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 9
jmp 0x445772
push 0x30
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44579f
push 9
call fcn.004d3c90
add esp, 4
test eax, eax
je 0x44579f
mov eax, 0xa
dec eax
push eax
call fcn.00415b50
add esp, 4
push eax
push 0x4ef4
call fcn.00486120
add esp, 4
push eax
push 0x69ef3c
call esi
push 0x69ef3c
call fcn.004e4420
add esp, 0x10
push 0x51
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4457bd
push edi
call fcn.004d3c30
mov eax, 0x4f52
jmp 0x445847
push 0x57
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4457d9
push 1
call fcn.004d3c30
mov eax, 0x4f53
jmp 0x445847
push 0x41
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x4457f5
push 2
call fcn.004d3c30
mov eax, 0x4f54
jmp 0x445847
push 0x53
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445811
push 3
call fcn.004d3c30
mov eax, 0x4f55
jmp 0x445847
push 0x5a
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44582d
push 4
call fcn.004d3c30
mov eax, 0x5112
jmp 0x445847
push 0x58
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445876
push 5
call fcn.004d3c30
mov eax, 0x5113
add esp, 4
push eax
call fcn.00486120
add esp, 4
push eax
push 0x4ef4
call fcn.00486120
add esp, 4
push eax
push 0x69ef3c
call esi
push 0x69ef3c
call fcn.004e4420
add esp, 0x10
call fcn.00566590
mov esi, dword [0x641fdc]
mov ecx, eax
mov dword [ebp - 0xa0], ecx
cmp esi, edi
je 0x4458a2
sub eax, dword [0x641fe0]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x4458a2
mov dword [0x641fdc], edi
mov esi, dword [0x641fd8]
cmp esi, edi
je 0x4458c3
mov eax, ecx
sub eax, dword [0x641fd4]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x4458c3
mov dword [0x641fd8], edi
mov esi, dword [0x6a07b4]
cmp esi, edi
je 0x4458e4
mov eax, ecx
sub eax, dword [0x6a07fc]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x4458e4
mov dword [0x6a07b4], edi
call fcn.004e3a40
mov ebx, eax
xor esi, esi
lea ecx, [ecx]
lea edx, [esi + 0x78]
push edx
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445904
cmp ebx, esi
jne 0x44590c
inc esi
cmp esi, 4
jl 0x4458f0
jmp 0x445931
push esi
call fcn.004e3a10
add esp, 4
call fcn.004e3a40
mov ebx, eax
mov eax, dword [0x5c17a8]
mov dword [0x63522c], ebx
test eax, eax
js 0x445931
mov byte [eax + 0x6a15c8], bl
cmp dword [0x641fd8], edi
jne 0x445996
push 0xa4
call fcn.00569e7d
add esp, 4
test eax, eax
jne 0x44595b
push 0xa5
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x445996
mov edi, dword [ebp - 0x8c]
xor esi, esi
lea eax, [esi + 0x31]
push eax
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x44598e
movzx eax, byte [esi + edi + 0x4c7]
test eax, eax
je 0x44598e
push eax
call fcn.0046e7f0
add esp, 4
inc dword [ebp - 0x88]
inc esi
cmp esi, 8
jl 0x445963
jmp 0x44599c
mov edi, dword [ebp - 0x8c]
push 0x1100000
mov dword [ebp - 0x94], 0
call fcn.00426230
add esp, 4
test eax, eax
jne 0x4466a4
mov ecx, dword [edi + 0x364]
push ecx
call fcn.00582ef0
add esp, 4
test eax, eax
je 0x4459e4
test dword [eax + 0xa4], 0x400
je 0x4459e4
mov dword [ebp - 0x94], 1
cmp dword [edi + 0x3f1], 0
jbe 0x4466ba
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 0x445a20
movzx esi, word [edi - 2]
test esi, esi
je 0x445b18
movzx ebx, byte [edi - 3]
test ebx, ebx
je 0x445b18
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445ada
test bl, 1
je 0x445a5e
mov edx, 1
jmp 0x445af4
test bl, 2
je 0x445b0f
cmp dword [0x641fe4], 0
je 0x445a89
mov dword [0x641fd8], 0
cmp esi, 0x111
je 0x445a92
call fcn.004442d0
jmp 0x445a92
cmp dword [0x641fd8], 0
jne 0x445ad2
cmp esi, 0x12
jne 0x445abb
call fcn.0048e210
test eax, eax
jne 0x445abb
push 0x50a5
call fcn.00486120
push eax
call fcn.004e4420
add esp, 8
mov dword [0x641fc8], esi
jmp 0x445b0f
movzx eax, byte [edi]
push eax
push esi
call fcn.00444310
and dword [ebp + 8], 0xfffffffe
add esp, 8
inc dword [0x641fd8]
mov dword [0x641fc8], esi
jmp 0x445b0f
test bl, 1
je 0x445b18
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x445b18
xor edx, edx
mov eax, dword [ebp - 0x90]
push 0xffffffffffffffff
push eax
push 4
push esi
mov word [0x6a0824], dx
call fcn.004eff00
add esp, 0x10
cmp dword [ebp - 0x88], 0
jne 0x445b3a
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 0x445a20
cmp dword [0x641fd8], 0
jne 0x445cec
cmp dword [0x6a07b4], 0
jne 0x445cec
push 9
call fcn.00569e7d
add esp, 4
test eax, eax
je 0x445cc6
call fcn.00443730
cmp dword [ebp - 0x94], 0
jne 0x445cc6
mov ecx, dword [0x6a0834]
mov eax, dword [0x642008]
mov edi, eax
test ecx, ecx
je 0x445b9d
mov edx, dword [0x6a07c4]
mov dword [0x642000], ecx
mov dword [0x642004], edx
jmp 0x445ba3
mov ecx, dword [0x642000]
test ecx, ecx
je 0x445bc0
push ecx
call fcn.004891b0
mov ecx, dword [0x642000]
mov dword [0x6a081c], eax
mov eax, dword [0x642008]
add esp, 4
test eax, eax
je 0x445bed
test ecx, ecx
je 0x445bd5
cmp dword [0x6a081c], 1
je 0x445bd5
xor edi, edi
jmp 0x445bed
push eax
call fcn.00467b40
mov ecx, dword [0x642000]
add esp, 4
test eax, eax
jne 0x445c21
mov eax, dword [0x642008]
test ecx, ecx
je 0x445c0c
cmp dword [0x6a081c], 1
je 0x446714
mov esi, dword [0x6a07ac]
mov ebx, dword [0x6a07e0]
jmp 0x445c32
mov esi, dword [0x6a07ac]
mov ebx, dword [0x6a07e0]
xor eax, eax
mov dword [0x642008], eax
jmp 0x445c32
mov esi, dword [eax + 0x124]
mov ebx, dword [eax + 0x128]
mov eax, dword [0x642008]
test ecx, ecx
je 0x445c8a
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax + 0x395]
cmp eax, 0x19
je 0x445cc6
cmp eax, 0x1a
je 0x445cc6
call fcn.004517a0
test eax, eax
jne 0x445cc6
mov ecx, dword [0x642004]
mov edx, dword [0x642000]
inc dword [ebp - 0x88]
or dword [ebp + 8], 2
push ecx
push edx
push ebx
push esi
push edi
call fcn.00451670
mov eax, dword [ebp - 0xa0]
add esp, 0x14
mov dword [0x6a07fc], eax
jmp 0x445cbc
test eax, eax
je 0x445cc6
mov ecx, dword [ebp - 0x8c]
cmp byte [ecx + 0x395], 9
je 0x445cc6
inc dword [ebp - 0x88]
and dword [ebp + 8], 0xfffffffe
push eax
call fcn.004550f0
mov edx, dword [ebp - 0xa0]
add esp, 4
mov dword [0x6a07fc], edx
mov dword [0x6a07b4], 0x1f4
cmp dword [ebp - 0x88], 0
jne 0x445cec
push 0x2d
call fcn.00569ea0
add esp, 4
test eax, eax
je 0x445cec
call fcn.0046e680
mov dword [ebp - 0x88], 1
test byte [ebp + 8], 1
je 0x4466ba
mov dword [0x641fc8], 0
call fcn.00443730
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x445d50
call fcn.004510b0
call fcn.0044ce10
test eax, eax
je 0x445d50
cmp dword [0x641ff4], esi
jne 0x445d43
call fcn.0044cd40
test al, 1
je 0x445d3e
call fcn.0044cd40
and eax, 0xfffffffe
push eax
call fcn.0044cd30
add esp, 4
jmp 0x445d43
call fcn.0044cd10
cmp dword [0x6a0834], 0
je 0x446714
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x364]
push ecx
call fcn.00582ef0
mov edi, eax
add esp, 4
mov dword [ebp - 0x90], edi
test edi, edi
je 0x446652
push edi
call fcn.00403460
add esp, 4
cmp dword [0x641fd8], 0
je 0x445d94
cmp dword [0x641fe4], 0
jne 0x446643
cmp dword [0x641fa4], 0
jne 0x445dbc
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push 0x5f4000
push esi
push edx
push eax
call fcn.00444250
add esp, 0x10
cmp eax, 1
je 0x445efc
test esi, esi
jne 0x4463b0
call fcn.004652d0
mov esi, dword [0x641fa4]
test esi, esi
jne 0x445e0a
mov esi, dword [0x641fa8]
test esi, esi
je 0x4462e8
push esi
mov dword [ebp - 0x98], 1
call fcn.00467b40
add esp, 4
test eax, eax
je 0x445e0a
mov ecx, dword [eax + 0x124]
mov edx, dword [eax + 0x128]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], edx
cmp dword [0x6a0834], 0
je 0x445e33
mov eax, dword [0x64200c]
cmp eax, 7
je 0x445f54
cmp eax, 6
je 0x445fd2
cmp eax, 8
je 0x445fd7
push esi
call fcn.00467b40
add esp, 4
test eax, eax
je 0x445e6f
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.00583980
add esp, 0x10
cmp eax, 0x980
jge 0x446643
test esi, esi
je 0x4462e8
cmp dword [0x641fe4], 0
jne 0x446307
push esi
call fcn.0047b160
add esp, 4
test eax, eax
je 0x4460a6
push esi
call fcn.00467b40
add esp, 4
test eax, eax
je 0x4460a6
push eax
call fcn.00451be0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4460a6
call fcn.0040e810
mov edi, dword [eax + 0xe1c2]
mov eax, dword [0x6a06d0]
push eax
call fcn.0040e810
mov ecx, dword [eax + 0xe1c6]
push ecx
call fcn.00444a20
or eax, edi
push eax
push 0
push ebx
call fcn.0040e810
add eax, 0x32c
push eax
call fcn.00483d00
add esp, 0x18
test eax, eax
jne 0x4460a6
cmp dword [0x6a0834], 0
je 0x446000
mov eax, dword [0x6a081c]
cmp eax, 2
je 0x446431
cmp dword [0x64200c], 3
je 0x446431
cmp eax, 1
jne 0x446643
mov esi, dword [0x641fa4]
test esi, esi
jne 0x446433
mov esi, dword [0x641fa8]
test esi, esi
je 0x446643
inc dword [ebp - 0x98]
jmp 0x446433
push esi
call fcn.004174e0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x446643
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + ebx*4 + 0xe145]
cmp eax, 0xffff
je 0x446643
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0xfc50]
movzx ecx, word [ecx + 0xfc54]
push edx
push ecx
push eax
call fcn.00404630
add esp, 0xc
test eax, eax
jne 0x445fb9
push 0x536a
call fcn.00486120
push eax
call fcn.004e4420
add esp, 8
jmp 0x446643
call fcn.004c66b0
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [ebx + edx + 0xe178]
cmp ecx, eax
je 0x445fe9
jmp 0x445fa1
cmp eax, 8
jne 0x445fe9
mov edx, dword [ebp - 0x8c]
cmp esi, dword [edx + 0x1296]
jne 0x446643
mov eax, dword [edi + 0x124]
mov ecx, dword [edi + 0x128]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], ecx
jmp 0x445e6f
call fcn.004449c0
test eax, eax
jne 0x446643
mov esi, dword [0x6a07d4]
mov ebx, dword [0x6a0810]
lea edx, [esi - 0x40]
push ebx
push edx
call fcn.0048b580
add esp, 8
test eax, 0x5f4000
je 0x446043
lea edi, [esi + 0x40]
push ebx
push edi
call fcn.0048b580
add esp, 8
test eax, 0x5f4000
jne 0x446043
mov esi, edi
push 0x40
push esi
call fcn.00479e20
push 0x40
push ebx
mov esi, eax
call fcn.00479e20
add esp, 0x10
mov ebx, eax
call fcn.004517a0
test eax, eax
jne 0x446092
push eax
call fcn.00451770
add esp, 4
test eax, eax
jne 0x446092
cmp dword [ebp - 0x94], eax
jne 0x446092
push ebx
push esi
call fcn.0046d840
inc dword [ebp - 0x88]
add esp, 8
call fcn.004652d0
jmp 0x446643
push ebx
push esi
call fcn.00458140
add esp, 8
call fcn.004652d0
jmp 0x446643
push esi
call fcn.0047b150
add esp, 4
test eax, eax
je 0x44616c
cmp dword [0x6a0834], 0
jne 0x44616c
push esi
call fcn.00467b40
add esp, 4
test eax, eax
je 0x44616c
push eax
call fcn.00451be0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x44616c
call fcn.0040e810
mov edi, dword [eax + 0xe1c2]
mov eax, dword [0x6a06d0]
push eax
call fcn.0040e810
mov ecx, dword [eax + 0xe1c6]
push ecx
call fcn.00444a20
or eax, edi
push eax
push 0
push ebx
call fcn.0040e810
add eax, 0x32c
push eax
call fcn.00483d00
add esp, 0x18
test eax, eax
jne 0x44616c
call fcn.004449e0
test eax, eax
je 0x4462e2
push esi
call fcn.0044f240
add esp, 4
add ebx, 0x29
push ebx
push 0x5e6c
call fcn.00486120
add esp, 4
push eax
push 0x69ef3c
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x69ef3c
call fcn.004e4420
add esp, 0x10
jmp 0x446643
push esi
call fcn.00467b40
add esp, 4
test eax, eax
je 0x4461d4
push eax
call fcn.00451be0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4461d4
test dword [ebx], 0x10008000
je 0x4461d4
call fcn.0040e810
mov edx, dword [0x6a06d0]
mov edi, dword [eax + 0xe1c2]
push edx
call fcn.0040e810
mov eax, dword [eax + 0xe1c6]
push eax
call fcn.00444a20
or eax, edi
push eax
push 0
push ebx
call fcn.0040e810
add eax, 0x32c
push eax
call fcn.00483d00
add esp, 0x18
test eax, eax
je 0x4462e2
cmp dword [0x641ff0], 0
je 0x44620f
mov eax, dword [0x642000]
test eax, eax
je 0x44620f
cmp dword [0x641ffc], 0
je 0x44620f
mov ecx, dword [0x642004]
mov dword [0x641ff4], 0
mov dword [0x6a0834], eax
mov dword [0x6a07c4], ecx
jmp 0x44641f
cmp dword [0x6a0834], 0
jne 0x44641f
call fcn.004449c0
test eax, eax
je 0x4462d4
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xb2a2], 0
je 0x44623e
mov dword [eax + 0xf9c7], esi
cmp dword [eax + 0xb34d], 0
je 0x44624d
mov dword [eax + 0xf9fc], esi
cmp dword [eax + 0xb3f8], 0
je 0x44625c
mov dword [eax + 0xfa31], esi
cmp dword [eax + 0xb4a3], 0
je 0x44626b
mov dword [eax + 0xfa66], esi
cmp dword [eax + 0xb54e], 0
je 0x44627a
mov dword [eax + 0xfa9b], esi
cmp dword [eax + 0xb5f9], 0
je 0x446289
mov dword [eax + 0xfad0], esi
cmp dword [eax + 0xb6a4], 0
je 0x446298
mov dword [eax + 0xfb05], esi
cmp dword [eax + 0xb74f], 0
je 0x4462a7
mov dword [eax + 0xfb3a], esi
cmp dword [eax + 0xb7fa], 0
je 0x4462b6
mov dword [eax + 0xfb6f], esi
cmp dword [eax + 0xb8a5], 0
je 0x446643
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0xfba4], esi
jmp 0x446643
push esi
call fcn.004550f0
add esp, 4
jmp 0x446643
mov edi, dword [ebp - 0x90]
cmp dword [0x641fe4], 0
jne 0x446307
cmp dword [0x6a0834], 0
je 0x446307
cmp dword [0x6a081c], 2
je 0x446431
call fcn.004449c0
test eax, eax
jne 0x446643
call fcn.004517a0
test eax, eax
jne 0x446643
push eax
call fcn.00451770
add esp, 4
test eax, eax
jne 0x446643
cmp dword [ebp - 0x94], eax
jne 0x446643
mov ecx, dword [0x6a07d4]
push eax
mov eax, dword [0x6a0810]
sar eax, 6
push eax
sar ecx, 6
push ecx
push edi
call fcn.004039e0
add esp, 0x10
cmp eax, 0xffffffff
je 0x446643
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.00403540
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xac]
push eax
push ecx
call fcn.0046d840
add esp, 0x18
inc dword [ebp - 0x88]
jmp 0x446643
mov eax, dword [ebp - 0xa4]
lea edx, [eax + 0x92]
push edx
push 0x104
add eax, 0x26e
push eax
push 0
call fcn.004f86e0
add esp, 0x10
test eax, eax
je 0x446628
cmp dword [0x6a0834], 0
je 0x446643
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x364]
push ecx
call fcn.00582ef0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x446643
call fcn.0044ee90
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 [0x6a081c], 2
je 0x446431
cmp dword [0x64200c], 3
jne 0x446433
xor esi, esi
cmp dword [0x641ff4], 0
je 0x44652b
push 0
call fcn.00451770
add esp, 4
test eax, eax
jne 0x446643
call fcn.0044ce10
test al, 4
je 0x446643
mov ecx, dword [0x641ff4]
push ecx
call fcn.00444830
add esp, 4
test eax, eax
je 0x446643
push ecx
call fcn.0047a190
add esp, 4
test eax, eax
jne 0x4464e1
mov ecx, dword [0x641ff4]
push ecx
call fcn.0047a1b0
add esp, 4
test eax, eax
jne 0x4464e1
mov edx, dword [0x641ff4]
push edx
call fcn.0047a1d0
add esp, 4
test eax, eax
jne 0x4464e1
mov eax, dword [0x641ff4]
push eax
call fcn.0047a220
add esp, 4
test eax, eax
jne 0x4464e1
mov ecx, dword [0x641ff4]
push ecx
call fcn.0047a1f0
add esp, 4
test eax, eax
jne 0x4464e1
mov edx, dword [0x641ff4]
push edx
call fcn.0047a250
add esp, 4
test eax, eax
je 0x4464f0
call fcn.0044cd10
mov dword [0x6a0834], 0
mov eax, dword [0x641ff4]
push eax
call fcn.0047a280
add esp, 4
test eax, eax
jne 0x446643
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
movzx eax, word [0x641ff4]
push ecx
mov ecx, dword [0x641ff8]
push edx
push esi
push eax
push ecx
call fcn.004ef800
add esp, 0x14
jmp 0x446643
call fcn.004517a0
test eax, eax
jne 0x4465c6
push eax
call fcn.00451770
add esp, 4
test eax, eax
jne 0x4465c6
cmp dword [ebp - 0x94], eax
jne 0x4465c6
cmp dword [ebp - 0x98], eax
je 0x4465af
test esi, esi
je 0x4465af
mov eax, dword [0x64200c]
cmp eax, 7
je 0x446597
cmp eax, 6
je 0x446597
cmp eax, 8
je 0x446597
push esi
call fcn.00467b40
add esp, 4
test eax, eax
je 0x44661c
mov edx, dword [0x6a07c4]
push edx
mov edx, dword [eax + 0x128]
mov eax, dword [eax + 0x124]
jmp 0x44660a
mov ecx, dword [0x6a07c4]
mov edx, dword [0x6a0834]
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
push eax
push ecx
jmp 0x446613
mov edx, dword [0x6a07c4]
mov eax, dword [0x6a0834]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
jmp 0x446613
cmp dword [ebp - 0x98], 0
je 0x4465fe
test esi, esi
je 0x4465fe
push esi
call fcn.00467b40
add esp, 4
test eax, eax
je 0x44661c
mov ecx, dword [0x6a07c4]
mov edx, dword [0x6a0834]
push ecx
mov ecx, dword [eax + 0x128]
push edx
mov edx, dword [eax + 0x124]
push ecx
push edx
jmp 0x446613
mov eax, dword [0x6a07c4]
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x6a0834]
push ecx
push edx
push eax
push esi
call fcn.00451670
add esp, 0x14
mov dword [0x6a0834], 0
jmp 0x446643
mov eax, dword [0x641ff4]
test eax, eax
je 0x446643
push eax
call fcn.0047a280
add esp, 4
test eax, eax
je 0x446643
call fcn.00444760
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.004034d0
add esp, 4
xor esi, esi
mov dword [0x6a0834], esi
cmp dword [0x641ff4], esi
je 0x44666d
mov dword [0x641ff4], esi
call fcn.0044cd10
cmp word [0x6a079c], si
je 0x4466ba
push 0
call fcn.0044ee90
movzx edx, word [0x6a079c]
push eax
push edx
call fcn.00479a40
add esp, 0xc
test eax, eax
je 0x4466ba
push 0
push 0
push 0
push 0
call fcn.00444890
add esp, 0x10
jmp 0x4466ba
push 0x100000
call fcn.00426230
add esp, 4
test eax, eax
jne 0x4466ba
call fcn.00444a80
xor edi, edi
test byte [ebp + 8], 2
je 0x44678d
mov dword [0x642010], edi
cmp dword [0x6a0834], edi
je 0x446725
mov dword [0x6a0834], edi
call fcn.0044cd10
mov dword [0x641ff4], edi
mov dword [0x642010], edi
cmp dword [ebp - 0x88], edi
je 0x446709
mov ecx, dword [ebp - 0xa0]
mov dword [0x641fd8], 0xc8
mov dword [0x641fd4], ecx
push edi
push edi
push edi
call fcn.0044e2b0
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00551e40
mov esp, ebp
pop ebp
ret
call fcn.0044ce10
test eax, eax
je 0x446735
call fcn.0044cd10
jmp 0x4466e5
cmp dword [ebp + 0xc], edi
jne 0x4466eb
mov esi, dword [0x641fa4]
cmp esi, edi
je 0x446776
push esi
call fcn.0047b150
add esp, 4
test eax, eax
je 0x4466eb
call fcn.0044ee90
cmp esi, eax
je 0x4466eb
mov eax, dword [0x62c7c4]
mov ecx, dword [0x62c7c0]
push edi
push esi
push eax
push ecx
call fcn.0048d950
add esp, 0x10
jmp 0x4466eb
mov edx, dword [0x62c7c4]
inc dword [0x642010]
mov dword [0x6a07a8], edx
jmp 0x4466eb
cmp dword [0x642010], edi
je 0x4466eb
test byte [0x6a1d04], 2
je 0x4466e5
mov esi, dword [0x6a07a8]
sub esi, dword [0x62c7c4]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jl 0x4466eb
call fcn.00441970
add eax, esi
push eax
call fcn.00441900
mov eax, dword [0x62c7c4]
add esp, 4
mov dword [0x6a07a8], eax
jmp 0x4466eb