Function at 0x444670
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x5bb204]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x94], esi
call fcn.00429c40
mov dword [ebp - 0x9c], eax
mov eax, dword [0x5b78d0]
add eax, 0xfffffd00
mov dword [ebp - 0xa4], eax
cmp eax, esi
jge 0x4446b2
mov dword [ebp - 0xa4], esi
mov ebx, dword [ebp + 8]
cmp ebx, esi
je 0x4446d0
cmp dword [ebp + 0xc], esi
jne 0x4446d0
call fcn.0044eb80
test eax, eax
je 0x4446d0
push esi
call fcn.0044ea60
add esp, 4
call fcn.0044df70
test eax, eax
je 0x4460e2
push 0x1000
call fcn.00426240
add esp, 4
test eax, eax
je 0x444738
push 0xa2
call fcn.0056106d
add esp, 4
test eax, eax
jne 0x444710
push 0xa3
call fcn.0056106d
add esp, 4
test eax, eax
je 0x444738
push 0x51
call fcn.00561090
add esp, 4
test eax, eax
je 0x444738
push 0x48
call fcn.00443d00
add esp, 4
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x80002000
call fcn.00426240
add esp, 4
test eax, eax
jne 0x4460e2
call fcn.0040edc0
mov dword [ebp - 0x8c], eax
test bl, 1
je 0x444790
mov eax, dword [eax + 0x364]
push eax
call fcn.0057a0e0
add esp, 4
cmp eax, esi
je 0x444790
cmp word [eax + 0xb2], 0x14
jne 0x444790
cmp word [eax + 0xd4], 2
jne 0x444790
and ebx, 0xfffffffe
mov dword [ebp + 8], ebx
mov dword [0x6964f4], esi
push edi
push 0x1b
call fcn.00561090
add esp, 4
test eax, eax
je 0x444955
push 0
push 0
push 0
push 0
push 0
call fcn.00450e10
push 0
call fcn.004548b0
push 0x1100000
call fcn.00426240
add esp, 0x1c
test eax, eax
je 0x44486d
push 0x29
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x4447ed
call fcn.004def00
push 3
call fcn.004c9ec0
add esp, 4
jmp 0x44482b
push 0x2b
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x44480c
call fcn.004ddc90
push 3
call fcn.004c9ec0
add esp, 4
jmp 0x44482b
push 0x2a
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444842
push 0x2a
call fcn.004c9e20
push 3
call fcn.004c9ec0
add esp, 8
test eax, eax
je 0x444955
push 3
call fcn.004c9e20
add esp, 4
jmp 0x444955
push 0x4f
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x44485f
push 0x4f
call fcn.004c9e20
add esp, 4
jmp 0x444955
call fcn.004db9c0
cmp eax, 2
jne 0x444955
push 0x50
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x44488a
push 0x50
call fcn.004c9e20
add esp, 4
jmp 0x444955
push 0x49
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x4448ae
call fcn.0048c740
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x16
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x4448d7
push 0x16
call fcn.004c9e20
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x37
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444900
push 0x37
call fcn.004c9e20
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
call fcn.004c9f50
mov edi, eax
call fcn.004c9f60
mov esi, eax
cmp edi, 0xffffffff
jne 0x444946
cmp esi, edi
jne 0x444950
push 1
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444931
push 1
call fcn.004c9e20
add esp, 4
jmp 0x444955
push 0
call fcn.00450f10
add esp, 4
test eax, eax
je 0x4449b3
call fcn.0046da00
jmp 0x444955
call fcn.004c9f70
cmp esi, 0xffffffff
je 0x444955
call fcn.004c9f80
push 0xa5
call fcn.00561090
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
test eax, eax
je 0x44497f
call fcn.0045b060
xor eax, 1
push eax
call fcn.0045b070
add esp, 4
jmp 0x4449a5
push 0xa4
call fcn.0056106d
add esp, 4
test eax, eax
jne 0x4449a5
push 0xa5
call fcn.0056106d
add esp, 4
test eax, eax
je 0x444c64
push 0x58
call fcn.00561090
add esp, 4
test eax, eax
je 0x4449ce
push 0xa
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x41
call fcn.00561090
add esp, 4
test eax, eax
je 0x4449f7
push 2
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x45
call fcn.00561090
add esp, 4
test eax, eax
je 0x444a20
push 3
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x53
call fcn.00561090
add esp, 4
test eax, eax
je 0x444a49
push 4
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x51
call fcn.00561090
add esp, 4
test eax, eax
je 0x444a72
push 9
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x46
call fcn.00561090
add esp, 4
test eax, eax
je 0x444a9b
push 8
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x43
call fcn.00561090
add esp, 4
test eax, eax
je 0x444ac4
push 0xd
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x57
call fcn.00561090
add esp, 4
test eax, eax
je 0x444aed
push 7
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x44
call fcn.00561090
add esp, 4
test eax, eax
je 0x444b16
push 5
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x4e
call fcn.00561090
add esp, 4
test eax, eax
je 0x444b3f
push 0x13
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x52
call fcn.00561090
add esp, 4
test eax, eax
je 0x444b68
push 0x2e
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x5a
call fcn.00561090
add esp, 4
test eax, eax
je 0x444b8c
call fcn.004e3a90
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x42
call fcn.00561090
add esp, 4
test eax, eax
je 0x444bb5
push 0x50
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x56
call fcn.00561090
add esp, 4
test eax, eax
je 0x444bcf
xor dword [0x6367d0], 1
jmp 0x444c64
push 0x4a
call fcn.00561090
add esp, 4
test eax, eax
je 0x444dcc
call fcn.0047f090
test eax, eax
je 0x444cf9
call fcn.004f9c80
test eax, eax
jne 0x444c57
call fcn.0040edc0
mov eax, dword [eax + 0xa34a]
test eax, eax
je 0x444d06
push eax
call fcn.00440ce0
add esp, 4
test eax, eax
je 0x444d06
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.004856b0
add esp, 4
push eax
lea eax, [ebp - 0x84]
push eax
call esi
lea ecx, [ebp - 0x84]
push ecx
call fcn.004e3320
add esp, 0x1c
jmp 0x444d06
push 0x5188
call fcn.004e3340
add esp, 4
xor edi, edi
push 0xa4
mov dword [ebp - 0x88], edi
call fcn.0056106d
add esp, 4
test eax, eax
jne 0x444c8e
push 0xa5
call fcn.0056106d
add esp, 4
test eax, eax
je 0x444ca6
push 0xc0
call fcn.00561090
add esp, 4
test eax, eax
je 0x444ca6
or dword [0x6367d8], 1
push 0xa2
call fcn.0056106d
add esp, 4
test eax, eax
jne 0x444ccc
push 0xa3
call fcn.0056106d
add esp, 4
test eax, eax
je 0x445294
push 0x31
call fcn.00561090
add esp, 4
test eax, eax
je 0x445030
push edi
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 1
jmp 0x445190
call fcn.004f9c70
test eax, eax
je 0x444dc2
push 3
call fcn.004c9ec0
add esp, 4
test eax, eax
jne 0x444d60
push eax
push 3
call fcn.004ca900
push 0x29
call fcn.004c9ec0
add esp, 0xc
test eax, eax
jne 0x444c64
push 0x2a
call fcn.004c9ec0
add esp, 4
test eax, eax
jne 0x444c64
call fcn.004db9c0
test eax, eax
jne 0x444da3
push eax
call fcn.004dcc20
push 0
push 0x29
call fcn.004ca900
add esp, 0xc
jmp 0x444c64
push 0x29
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444d7f
call fcn.004def00
push 3
call fcn.004c9e20
jmp 0x444c61
push 0x2a
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444d40
push 0x2a
call fcn.004c9e20
push 3
call fcn.004c9e20
add esp, 8
jmp 0x444c64
call fcn.004db9c0
cmp eax, 2
jne 0x444c64
push 0
push 0x2a
call fcn.004ca900
add esp, 8
jmp 0x444c64
push 0x4f72
jmp 0x444c5c
push 0x59
call fcn.00561090
add esp, 4
test eax, eax
je 0x444df5
push 0x36
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x49
call fcn.00561090
add esp, 4
test eax, eax
je 0x444e43
call fcn.0047f090
test eax, eax
je 0x4460e1
push 0x16
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444e28
push 0x16
call fcn.004c9e20
add esp, 4
push 1
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x54
call fcn.00561090
add esp, 4
test eax, eax
je 0x444e91
call fcn.0047f090
test eax, eax
je 0x4460e1
push 1
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444e76
push 1
call fcn.004c9e20
add esp, 4
push 0x16
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x48
call fcn.00561090
add esp, 4
test eax, eax
je 0x444ec7
call fcn.0047f0a0
test eax, eax
je 0x4460e1
push 0x37
call fcn.00443d00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x47
call fcn.00561090
add esp, 4
test eax, eax
je 0x444eeb
call fcn.005111b0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x4d
call fcn.00561090
add esp, 4
test eax, eax
je 0x444f3f
push 0x55
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444f22
push 0x55
call fcn.004c9e20
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 9
push 0x55
call fcn.004ca900
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x4c
call fcn.00561090
add esp, 4
test eax, eax
je 0x444f93
push 0x5c
call fcn.004c9ec0
add esp, 4
test eax, eax
je 0x444f76
push 0x5c
call fcn.004c9e20
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0
push 0x5c
call fcn.004ca900
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x55
call fcn.00561090
add esp, 4
test eax, eax
je 0x444fcc
push 1
call fcn.004c9ec0
add esp, 4
push 1
test eax, eax
jne 0x444f5d
push 1
call fcn.004ca900
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x50
call fcn.00561090
add esp, 4
test eax, eax
je 0x444c64
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx]
test al, 1
je 0x44500d
and eax, 0xfffffffe
push 0x4c5f25
mov dword [ecx], eax
call fcn.004e3340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
or eax, 1
push 0x4c5f24
mov dword [ecx], eax
call fcn.004e3340
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
mov esp, ebp
pop ebp
ret
push 0x32
call fcn.00561090
add esp, 4
test eax, eax
je 0x44505a
push 1
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 2
jmp 0x445190
push 0x33
call fcn.00561090
add esp, 4
test eax, eax
je 0x445084
push 2
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 3
jmp 0x445190
push 0x34
call fcn.00561090
add esp, 4
test eax, eax
je 0x4450ae
push 3
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 4
jmp 0x445190
push 0x35
call fcn.00561090
add esp, 4
test eax, eax
je 0x4450d8
push 4
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 5
jmp 0x445190
push 0x36
call fcn.00561090
add esp, 4
test eax, eax
je 0x445102
push 5
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 6
jmp 0x445190
push 0x37
call fcn.00561090
add esp, 4
test eax, eax
je 0x445129
push 6
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 7
jmp 0x445190
push 0x38
call fcn.00561090
add esp, 4
test eax, eax
je 0x44514c
push 7
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 8
jmp 0x445190
push 0x39
call fcn.00561090
add esp, 4
test eax, eax
je 0x44516f
push 8
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 9
jmp 0x445190
push 0x30
call fcn.00561090
add esp, 4
test eax, eax
je 0x4451bd
push 9
call fcn.004d2b60
add esp, 4
test eax, eax
je 0x4451bd
mov eax, 0xa
dec eax
push eax
call fcn.00415c10
add esp, 4
push eax
push 0x4ef4
call fcn.004856b0
add esp, 4
push eax
push 0x694c44
call esi
push 0x694c44
call fcn.004e3320
add esp, 0x10
push 0x51
call fcn.00561090
add esp, 4
test eax, eax
je 0x4451db
push edi
call fcn.004d2b00
mov eax, 0x4f52
jmp 0x445265
push 0x57
call fcn.00561090
add esp, 4
test eax, eax
je 0x4451f7
push 1
call fcn.004d2b00
mov eax, 0x4f53
jmp 0x445265
push 0x41
call fcn.00561090
add esp, 4
test eax, eax
je 0x445213
push 2
call fcn.004d2b00
mov eax, 0x4f54
jmp 0x445265
push 0x53
call fcn.00561090
add esp, 4
test eax, eax
je 0x44522f
push 3
call fcn.004d2b00
mov eax, 0x4f55
jmp 0x445265
push 0x5a
call fcn.00561090
add esp, 4
test eax, eax
je 0x44524b
push 4
call fcn.004d2b00
mov eax, 0x5112
jmp 0x445265
push 0x58
call fcn.00561090
add esp, 4
test eax, eax
je 0x445294
push 5
call fcn.004d2b00
mov eax, 0x5113
add esp, 4
push eax
call fcn.004856b0
add esp, 4
push eax
push 0x4ef4
call fcn.004856b0
add esp, 4
push eax
push 0x694c44
call esi
push 0x694c44
call fcn.004e3320
add esp, 0x10
call fcn.0055d770
mov esi, dword [0x6366fc]
mov ecx, eax
mov dword [ebp - 0xa0], ecx
cmp esi, edi
je 0x4452c0
sub eax, dword [0x636700]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x4452c0
mov dword [0x6366fc], edi
mov esi, dword [0x6366f8]
cmp esi, edi
je 0x4452e1
mov eax, ecx
sub eax, dword [0x6366f4]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x4452e1
mov dword [0x6366f8], edi
mov esi, dword [0x696474]
cmp esi, edi
je 0x445302
mov eax, ecx
sub eax, dword [0x6964bc]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jl 0x445302
mov dword [0x696474], edi
call fcn.004e2940
mov ebx, eax
xor esi, esi
jmp 0x445310
lea edx, [esi + 0x78]
push edx
call fcn.00561090
add esp, 4
test eax, eax
je 0x445324
cmp ebx, esi
jne 0x44532c
inc esi
cmp esi, 4
jl 0x445310
jmp 0x445351
push esi
call fcn.004e2910
add esp, 4
call fcn.004e2940
mov ebx, eax
mov eax, dword [0x5b7788]
mov dword [0x62a8cc], ebx
test eax, eax
js 0x445351
mov byte [eax + 0x697288], bl
cmp dword [0x6366f8], edi
jne 0x4453b6
push 0xa4
call fcn.0056106d
add esp, 4
test eax, eax
jne 0x44537b
push 0xa5
call fcn.0056106d
add esp, 4
test eax, eax
je 0x4453b6
mov edi, dword [ebp - 0x8c]
xor esi, esi
lea eax, [esi + 0x31]
push eax
call fcn.00561090
add esp, 4
test eax, eax
je 0x4453ae
movzx eax, byte [esi + edi + 0x46d]
test eax, eax
je 0x4453ae
push eax
call fcn.0046dd70
add esp, 4
inc dword [ebp - 0x88]
inc esi
cmp esi, 8
jl 0x445383
jmp 0x4453bc
mov edi, dword [ebp - 0x8c]
push 0x1100000
mov dword [ebp - 0x98], 0
call fcn.00426240
add esp, 4
test eax, eax
jne 0x446072
mov ecx, dword [edi + 0x364]
push ecx
call fcn.0057a0e0
add esp, 4
test eax, eax
je 0x445404
test dword [eax + 0xa4], 0x400
je 0x445404
mov dword [ebp - 0x98], 1
cmp dword [edi + 0x3a1], 0
jbe 0x446088
mov edx, dword [ebp - 0x8c]
lea eax, [ebx*8]
mov dword [ebp - 0x9c], eax
lea eax, [edx + eax*4 + 0x3ed]
xor edi, edi
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
movzx esi, word [ecx + 1]
test esi, esi
je 0x445547
mov edx, ecx
movzx ebx, byte [edx]
test ebx, ebx
je 0x445547
lea eax, [edi + 0x70]
push eax
call fcn.00561090
add esp, 4
test eax, eax
je 0x44550a
test bl, 1
je 0x44547b
mov eax, 1
mov word [0x6964e4], ax
jmp 0x445528
test bl, 2
je 0x44553e
cmp dword [0x636704], 0
je 0x4454a6
mov dword [0x6366f8], 0
cmp esi, 0x111
je 0x4454af
call fcn.00443cf0
jmp 0x4454af
cmp dword [0x6366f8], 0
jne 0x445502
cmp esi, 0x12
jne 0x4454d8
call fcn.00492320
test eax, eax
jne 0x4454d8
push 0x50a5
call fcn.004856b0
push eax
call fcn.004e3320
add esp, 8
mov dword [0x6366e8], esi
jmp 0x44553e
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x8c]
add ecx, edi
movzx eax, byte [edx + ecx*4 + 0x3f0]
push eax
push esi
call fcn.00443d30
and dword [ebp + 8], 0xfffffffe
add esp, 8
inc dword [0x6366f8]
mov dword [0x6366e8], esi
jmp 0x44553e
test bl, 1
je 0x445547
lea eax, [edi + 0x70]
push eax
call fcn.0056106d
add esp, 4
test eax, eax
je 0x445547
xor ecx, ecx
mov word [0x6964e4], cx
mov edx, dword [ebp - 0x9c]
push 0xffffffffffffffff
add edx, edi
push edx
push 4
push esi
call fcn.004eeba0
add esp, 0x10
cmp dword [ebp - 0x88], 0
jne 0x445558
add dword [ebp - 0x90], 4
inc edi
cmp edi, 8
jl 0x445433
cmp dword [0x6366f8], 0
jne 0x44570a
cmp dword [0x696474], 0
jne 0x44570a
push 9
call fcn.0056106d
add esp, 4
test eax, eax
je 0x4456e4
call fcn.00443160
cmp dword [ebp - 0x98], 0
jne 0x4456e4
mov ecx, dword [0x6964f4]
mov eax, dword [0x636728]
mov ebx, eax
test ecx, ecx
je 0x4455bb
mov edx, dword [0x696484]
mov dword [0x636720], ecx
mov dword [0x636724], edx
jmp 0x4455c1
mov ecx, dword [0x636720]
test ecx, ecx
je 0x4455de
push ecx
call fcn.004887c0
mov ecx, dword [0x636720]
mov dword [0x6964dc], eax
mov eax, dword [0x636728]
add esp, 4
test eax, eax
je 0x44560b
test ecx, ecx
je 0x4455f3
cmp dword [0x6964dc], 1
je 0x4455f3
xor ebx, ebx
jmp 0x44560b
push eax
call fcn.00467150
mov ecx, dword [0x636720]
add esp, 4
test eax, eax
jne 0x44563f
mov eax, dword [0x636728]
test ecx, ecx
je 0x44562a
cmp dword [0x6964dc], 1
je 0x4460e1
mov esi, dword [0x69646c]
mov edi, dword [0x6964a0]
jmp 0x445650
mov esi, dword [0x69646c]
mov edi, dword [0x6964a0]
xor eax, eax
mov dword [0x636728], eax
jmp 0x445650
mov esi, dword [eax + 0x124]
mov edi, dword [eax + 0x128]
mov eax, dword [0x636728]
test ecx, ecx
je 0x4456a8
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax + 0x395]
cmp eax, 0x19
je 0x4456e4
cmp eax, 0x1a
je 0x4456e4
call fcn.00450f40
test eax, eax
jne 0x4456e4
mov ecx, dword [0x636724]
mov edx, dword [0x636720]
inc dword [ebp - 0x88]
or dword [ebp + 8], 2
push ecx
push edx
push edi
push esi
push ebx
call fcn.00450e10
mov eax, dword [ebp - 0xa0]
add esp, 0x14
mov dword [0x6964bc], eax
jmp 0x4456da
test eax, eax
je 0x4456e4
mov ecx, dword [ebp - 0x8c]
cmp byte [ecx + 0x395], 9
je 0x4456e4
inc dword [ebp - 0x88]
and dword [ebp + 8], 0xfffffffe
push eax
call fcn.004548b0
mov edx, dword [ebp - 0xa0]
add esp, 4
mov dword [0x6964bc], edx
mov dword [0x696474], 0x1f4
cmp dword [ebp - 0x88], 0
jne 0x44570a
push 0x2d
call fcn.00561090
add esp, 4
test eax, eax
je 0x44570a
call fcn.0046dc00
mov dword [ebp - 0x88], 1
test byte [ebp + 8], 1
je 0x446088
xor edi, edi
mov dword [0x6366e8], edi
call fcn.00443160
mov esi, dword [ebp + 0xc]
cmp esi, edi
jne 0x44576b
call fcn.00450850
call fcn.0049e110
test eax, eax
je 0x44576b
cmp dword [0x636714], edi
jne 0x44575f
call fcn.0044c700
test al, 1
je 0x44575a
call fcn.0044c700
and eax, 0xfffffffe
push eax
call fcn.0044c6f0
add esp, 4
jmp 0x44575f
call fcn.0044c6d0
cmp dword [0x6964f4], edi
je 0x4460e1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x364]
push ecx
call fcn.0057a0e0
add esp, 4
mov dword [ebp - 0x90], eax
cmp eax, edi
je 0x446022
push eax
call fcn.004034c0
add esp, 4
cmp dword [0x6366f8], edi
je 0x4457ab
cmp dword [0x636704], edi
jne 0x446011
cmp dword [0x6366c4], edi
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
jne 0x4457d2
push 0x5f4000
push esi
push ebx
push edi
call fcn.00443c70
add esp, 0x10
cmp eax, 1
je 0x44591e
test esi, esi
jne 0x445dd1
call fcn.00464a10
mov esi, dword [0x6366c4]
test esi, esi
jne 0x445820
mov esi, dword [0x6366c8]
test esi, esi
je 0x445d03
push esi
mov dword [ebp - 0x94], 1
call fcn.00467150
add esp, 4
test eax, eax
je 0x445820
mov edx, dword [eax + 0x124]
mov eax, dword [eax + 0x128]
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], eax
cmp dword [0x6964f4], 0
je 0x445849
mov eax, dword [0x63672c]
cmp eax, 7
je 0x445949
cmp eax, 6
je 0x4459bd
cmp eax, 8
je 0x4459c2
push esi
call fcn.00467150
add esp, 4
test eax, eax
je 0x44588b
mov ecx, dword [eax + 0x128]
mov edx, dword [eax + 0x124]
mov eax, dword [ebp - 0x90]
push ecx
mov ecx, dword [eax + 0x128]
push edx
mov edx, dword [eax + 0x124]
push ecx
push edx
call fcn.0057ab70
add esp, 0x10
cmp eax, 0x980
jge 0x446011
test esi, esi
je 0x445d03
cmp dword [0x636704], 0
jne 0x445d22
push esi
call fcn.0047a670
add esp, 4
test eax, eax
je 0x445ac7
push esi
call fcn.00467150
add esp, 4
test eax, eax
je 0x445ac7
push eax
call fcn.00451380
mov edi, eax
add esp, 4
test edi, edi
je 0x445ac7
call fcn.0040edc0
mov ebx, dword [eax + 0xa2fc]
mov eax, dword [0x696380]
push eax
call fcn.0040edc0
mov ecx, dword [eax + 0xa300]
push ecx
call fcn.00444440
or eax, ebx
push eax
push 0
push edi
call fcn.0040edc0
add eax, 0x32c
push eax
call fcn.00483280
add esp, 0x18
test eax, eax
jne 0x445ac7
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
cmp dword [0x6964f4], 0
je 0x445a21
mov eax, dword [0x6964dc]
cmp eax, 2
je 0x445942
cmp dword [0x63672c], 3
jne 0x4459f1
xor esi, esi
jmp 0x445e5a
push esi
call fcn.004175a0
mov edi, eax
add esp, 4
test edi, edi
je 0x446011
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ecx + edi*4 + 0xa27f]
cmp eax, 0xffff
je 0x446011
mov ebx, ecx
mov edx, dword [ebx + 0xbdec]
movzx ecx, word [ebx + 0xbdf0]
push edx
push ecx
push eax
call fcn.00404830
add esp, 0xc
test eax, eax
jne 0x4459aa
push 0x536a
call fcn.004856b0
push eax
call fcn.004e3320
add esp, 8
jmp 0x446011
call fcn.004c5430
movzx edx, byte [edi + ebx + 0xa2b2]
cmp edx, eax
je 0x4459d4
jmp 0x445992
cmp eax, 8
jne 0x4459d4
mov eax, dword [ebp - 0x8c]
cmp esi, dword [eax + 0x1148]
jne 0x446011
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x124]
mov edx, dword [eax + 0x128]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], edx
jmp 0x44588b
cmp eax, 1
jne 0x446011
mov esi, dword [0x6366c4]
test esi, esi
jne 0x445e5a
mov esi, dword [0x6366c8]
test esi, esi
je 0x446011
inc dword [ebp - 0x94]
jmp 0x445e5a
call fcn.004443e0
test eax, eax
jne 0x446011
mov esi, dword [0x696494]
mov edi, dword [0x6964d0]
lea edx, [esi - 0x40]
push edi
push edx
call fcn.0048ab80
add esp, 8
test eax, 0x5f4000
je 0x445a64
lea ebx, [esi + 0x40]
push edi
push ebx
call fcn.0048ab80
add esp, 8
test eax, 0x5f4000
jne 0x445a64
mov esi, ebx
push 0x40
push esi
call fcn.004792d0
push 0x40
push edi
mov esi, eax
call fcn.004792d0
add esp, 0x10
mov edi, eax
call fcn.00450f40
test eax, eax
jne 0x445ab3
push eax
call fcn.00450f10
add esp, 4
test eax, eax
jne 0x445ab3
cmp dword [ebp - 0x98], eax
jne 0x445ab3
push edi
push esi
call fcn.0046cdc0
inc dword [ebp - 0x88]
add esp, 8
call fcn.00464a10
jmp 0x446011
push edi
push esi
call fcn.004578f0
add esp, 8
call fcn.00464a10
jmp 0x446011
push esi
call fcn.0047a660
add esp, 4
test eax, eax
je 0x445b8d
cmp dword [0x6964f4], 0
jne 0x445b8d
push esi
call fcn.00467150
add esp, 4
test eax, eax
je 0x445b8d
push eax
call fcn.00451380
mov edi, eax
add esp, 4
test edi, edi
je 0x445b8d
call fcn.0040edc0
mov ebx, dword [eax + 0xa2fc]
mov eax, dword [0x696380]
push eax
call fcn.0040edc0
mov ecx, dword [eax + 0xa300]
push ecx
call fcn.00444440
or eax, ebx
push eax
push 0
push edi
call fcn.0040edc0
add eax, 0x32c
push eax
call fcn.00483280
add esp, 0x18
test eax, eax
jne 0x445b8d
call fcn.00444400
test eax, eax
je 0x445d03
push esi
call fcn.0044ea60
add esp, 4
add edi, 0x29
push edi
push 0x5e6c
call fcn.004856b0
add esp, 4
push eax
push 0x694c44
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x694c44
call fcn.004e3320
add esp, 0x10
jmp 0x446011
push esi
call fcn.00467150
add esp, 4
test eax, eax
je 0x445bf5
push eax
call fcn.00451380
mov edi, eax
add esp, 4
test edi, edi
je 0x445bf5
test dword [edi], 0x10008000
je 0x445bf5
call fcn.0040edc0
mov edx, dword [0x696380]
mov ebx, dword [eax + 0xa2fc]
push edx
call fcn.0040edc0
mov eax, dword [eax + 0xa300]
push eax
call fcn.00444440
or eax, ebx
push eax
push 0
push edi
call fcn.0040edc0
add eax, 0x32c
push eax
call fcn.00483280
add esp, 0x18
test eax, eax
je 0x445d03
cmp dword [0x636710], 0
je 0x445c30
mov eax, dword [0x636720]
test eax, eax
je 0x445c30
cmp dword [0x63671c], 0
je 0x445c30
mov ecx, dword [0x636724]
mov dword [0x636714], 0
mov dword [0x6964f4], eax
mov dword [0x696484], ecx
jmp 0x445e40
cmp dword [0x6964f4], 0
jne 0x445e40
call fcn.004443e0
test eax, eax
je 0x445cf5
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x7644], 0
je 0x445c5f
mov dword [eax + 0xbafd], esi
cmp dword [eax + 0x769f], 0
je 0x445c6e
mov dword [eax + 0xbb32], esi
cmp dword [eax + 0x76fa], 0
je 0x445c7d
mov dword [eax + 0xbb67], esi
cmp dword [eax + 0x7755], 0
je 0x445c8c
mov dword [eax + 0xbb9c], esi
cmp dword [eax + 0x77b0], 0
je 0x445c9b
mov dword [eax + 0xbbd1], esi
cmp dword [eax + 0x780b], 0
je 0x445caa
mov dword [eax + 0xbc06], esi
cmp dword [eax + 0x7866], 0
je 0x445cb9
mov dword [eax + 0xbc3b], esi
cmp dword [eax + 0x78c1], 0
je 0x445cc8
mov dword [eax + 0xbc70], esi
cmp dword [eax + 0x791c], 0
je 0x445cd7
mov dword [eax + 0xbca5], esi
cmp dword [eax + 0x7977], 0
je 0x446011
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0xbcda], esi
jmp 0x446011
push esi
call fcn.004548b0
add esp, 4
jmp 0x446011
cmp dword [0x636704], 0
jne 0x445d22
cmp dword [0x6964f4], 0
je 0x445d22
cmp dword [0x6964dc], 2
je 0x445e52
call fcn.004443e0
test eax, eax
jne 0x446011
call fcn.00450f40
test eax, eax
jne 0x446011
push eax
call fcn.00450f10
add esp, 4
test eax, eax
jne 0x446011
cmp dword [ebp - 0x98], eax
jne 0x446011
mov ecx, dword [0x696494]
mov edx, dword [ebp - 0x90]
push eax
mov eax, dword [0x6964d0]
sar eax, 6
push eax
sar ecx, 6
push ecx
push edx
call fcn.00403a40
add esp, 0x10
cmp eax, 0xffffffff
je 0x446011
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0xac]
push ecx
movzx ecx, byte [edx + 0x330]
movzx edx, ax
sar eax, 0x10
movzx eax, ax
push ecx
shl edx, 6
push edx
shl eax, 6
push eax
call fcn.004035a0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
push ecx
push edx
call fcn.0046cdc0
add esp, 0x18
inc dword [ebp - 0x88]
jmp 0x446011
mov eax, dword [ebp - 0xa4]
lea ecx, [eax + 0x92]
push ecx
push 0x104
add eax, 0x26e
push eax
push 0
call fcn.004f70f0
add esp, 0x10
test eax, eax
je 0x445ff6
cmp dword [0x6964f4], 0
je 0x446011
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x364]
push eax
call fcn.0057a0e0
mov edi, eax
add esp, 4
test edi, edi
je 0x446011
call fcn.0044e6b0
mov ecx, dword [edi + 0x124]
mov edx, dword [edi + 0x128]
mov esi, eax
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], edx
cmp dword [0x6964dc], 2
je 0x445e52
cmp dword [0x63672c], 3
jne 0x445e54
xor esi, esi
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
cmp dword [0x636714], 0
je 0x445f4c
push 0
call fcn.00450f10
add esp, 4
test eax, eax
jne 0x446011
call fcn.0049e110
test al, 4
je 0x446011
mov ecx, dword [0x636714]
push ecx
call fcn.00444250
add esp, 4
test eax, eax
je 0x446011
push ecx
call fcn.00479660
add esp, 4
test eax, eax
jne 0x445f07
mov eax, dword [0x636714]
push eax
call fcn.00479680
add esp, 4
test eax, eax
jne 0x445f07
mov ecx, dword [0x636714]
push ecx
call fcn.004796a0
add esp, 4
test eax, eax
jne 0x445f07
mov edx, dword [0x636714]
push edx
call fcn.004796f0
add esp, 4
test eax, eax
jne 0x445f07
mov eax, dword [0x636714]
push eax
call fcn.004796c0
add esp, 4
test eax, eax
jne 0x445f07
mov ecx, dword [0x636714]
push ecx
call fcn.00479720
add esp, 4
test eax, eax
je 0x445f16
call fcn.0044c6d0
mov dword [0x6964f4], 0
mov edx, dword [0x636714]
push edx
call fcn.00479750
add esp, 4
test eax, eax
jne 0x446011
movzx eax, word [0x636714]
mov ecx, dword [0x636718]
push ebx
push edi
push esi
push eax
push ecx
call fcn.004ee4a0
add esp, 0x14
jmp 0x446011
call fcn.00450f40
test eax, eax
jne 0x445fc4
push eax
call fcn.00450f10
add esp, 4
test eax, eax
jne 0x445fc4
cmp dword [ebp - 0x98], eax
jne 0x445fc4
cmp dword [ebp - 0x94], eax
je 0x445fb5
test esi, esi
je 0x445fb5
mov eax, dword [0x63672c]
cmp eax, 7
je 0x445fd1
cmp eax, 6
je 0x445fd1
cmp eax, 8
je 0x445fd1
push esi
call fcn.00467150
add esp, 4
test eax, eax
je 0x445fea
mov edx, dword [0x696484]
mov ecx, dword [0x6964f4]
push edx
mov edx, dword [eax + 0x128]
mov eax, dword [eax + 0x124]
push ecx
push edx
push eax
jmp 0x445fe1
mov eax, dword [0x696484]
mov ecx, dword [0x6964f4]
push eax
push ecx
jmp 0x445fdf
cmp dword [ebp - 0x94], 0
je 0x445fd1
test esi, esi
jmp 0x445f88
mov ecx, dword [0x696484]
mov edx, dword [0x6964f4]
push ecx
push edx
push ebx
push edi
push esi
call fcn.00450e10
add esp, 0x14
mov dword [0x6964f4], 0
jmp 0x446011
mov eax, dword [0x636714]
test eax, eax
je 0x446011
push eax
call fcn.00479750
add esp, 4
test eax, eax
je 0x446011
call fcn.00444180
mov eax, dword [ebp - 0x90]
push eax
call fcn.00403530
add esp, 4
xor edi, edi
mov dword [0x6964f4], edi
cmp dword [0x636714], edi
je 0x44603b
mov dword [0x636714], edi
call fcn.0044c6d0
cmp word [0x69645c], di
je 0x446088
push 0
call fcn.0044e6b0
movzx ecx, word [0x69645c]
push eax
push ecx
call fcn.00478ef0
add esp, 0xc
test eax, eax
je 0x446088
push 0
push 0
push 0
push 0
call fcn.004442b0
add esp, 0x10
jmp 0x446088
push 0x100000
call fcn.00426240
add esp, 4
test eax, eax
jne 0x446088
call fcn.004444a0
xor edi, edi
test byte [ebp + 8], 2
je 0x44615a
mov dword [0x636730], edi
cmp dword [0x6964f4], edi
je 0x4460f2
mov dword [0x6964f4], edi
call fcn.0044c6d0
mov dword [0x636714], edi
mov dword [0x636730], edi
cmp dword [ebp - 0x88], edi
je 0x4460d6
mov eax, dword [ebp - 0xa0]
mov dword [0x6366f8], 0xc8
mov dword [0x6366f4], eax
push edi
push edi
push edi
call fcn.0044dc50
add esp, 0xc
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00549540
mov esp, ebp
pop ebp
ret
call fcn.0049e110
test eax, eax
je 0x446102
call fcn.0044c6d0
jmp 0x4460b3
cmp dword [ebp + 0xc], edi
jne 0x4460b9
mov esi, dword [0x6366c4]
cmp esi, edi
je 0x446143
push esi
call fcn.0047a660
add esp, 4
test eax, eax
je 0x4460b9
call fcn.0044e6b0
cmp esi, eax
je 0x4460b9
mov edx, dword [0x6225e4]
mov eax, dword [0x6225e0]
push edi
push esi
push edx
push eax
call fcn.0048cf00
add esp, 0x10
jmp 0x4460b9
mov ecx, dword [0x6225e4]
inc dword [0x636730]
mov dword [0x696468], ecx
jmp 0x4460b9
cmp dword [0x636730], edi
je 0x4460b9
test byte [0x6979e4], 2
je 0x4460b3
mov esi, dword [0x696468]
sub esi, dword [0x6225e4]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jl 0x4460b9
call fcn.00441120
add eax, esi
push eax
call fcn.004410b0
mov edx, dword [0x6225e4]
add esp, 4
mov dword [0x696468], edx
jmp 0x4460b9