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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x447be0
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x44825a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x6c]
call fcn.004469ec
cmp byte [ebx + 0x60], 0
jne 0x447c29
mov eax, dword [ebx + 0x6c]
call fcn.00413cac
test eax, eax
jne 0x447c20
mov dl, 2
mov eax, ebx
call fcn.00448dec
jmp 0x447c29
mov dl, 1
mov eax, ebx
call fcn.00448dec
mov eax, dword [ebx + 0x6c]
call fcn.00413cac
mov esi, eax
sub esi, 1
jno 0x447c3d
call fcn.00403954
test esi, esi
jl 0x447d3d
inc esi
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.00446b04
mov edx, dword [eax + 0x18]
lea eax, [ebp - 8]
call fcn.004048bc
cmp dword [ebp - 8], 0
je 0x447d35
cmp byte [ebx + 0x60], 1
jne 0x447cfc
mov edx, 0x448270
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, 0x448280
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, 0x448290
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, 0x4482a0
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, 0x4482b0
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, 0x4482cc
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.00446b04
add eax, 0x18
mov edx, 0x4482a0
call fcn.00404878
jmp 0x447d35
mov edx, 0x4482e0
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, 0x4482ec
mov eax, dword [ebp - 8]
call fcn.0041d754
test al, al
jne 0x447d35
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.00446b04
add eax, 0x18
mov edx, 0x4482e0
call fcn.00404878
inc edi
dec esi
jne 0x447c48
mov eax, dword [ebx + 0x6c]
call fcn.00413cac
test eax, eax
jle 0x447d8a
cmp dword [ebx + 0x44], 0
je 0x447d8a
mov edx, 0x448270
mov eax, dword [ebx + 0x44]
call fcn.0041d754
test al, al
jne 0x447d8a
mov edx, 0x448290
mov eax, dword [ebx + 0x44]
call fcn.0041d754
test al, al
jne 0x447d8a
mov edx, 0x448280
mov eax, dword [ebx + 0x44]
call fcn.0041d754
test al, al
jne 0x447d8a
lea eax, [ebx + 0x44]
call fcn.00404824
cmp byte [ebx + 0x60], 1
jne 0x447e07
lea edx, [ebp - 0xc]
mov eax, dword [0x45379c]
mov eax, dword [eax]
call fcn.0043fdf8
mov eax, dword [ebx + 0x40]
call fcn.00404ae4
test eax, eax
jne 0x447dfa
mov eax, dword [ebx + 0x6c]
cmp dword [eax + 0x2c], 1
jle 0x447dd8
cmp dword [eax + 0x20], 0
jle 0x447dc9
lea eax, [ebx + 0x40]
mov edx, 0x4482f8
call fcn.00404878
jmp 0x447dfa
lea eax, [ebx + 0x40]
mov edx, 0x448310
call fcn.00404878
jmp 0x447dfa
cmp dword [eax + 0x20], 0
jle 0x447ded
lea eax, [ebx + 0x40]
mov edx, 0x4482f8
call fcn.00404878
jmp 0x447dfa
lea eax, [ebx + 0x40]
mov edx, 0x448330
call fcn.00404878
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax + 0x24]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0xe]
mov eax, ebx
call fcn.00448eb4
mov eax, dword [ebx + 0xc0]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebx + 0x68]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x447e3d
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0xc0]
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [ebx + 0xc0]
mov eax, dword [ebp - 4]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x64]
call fcn.00439ee8
mov ecx, dword [ebp - 0x14]
mov edx, 0x448344
mov eax, esi
call fcn.00438f00
movzx eax, byte [ebp - 0xe]
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
movzx ecx, byte [ebp - 0xd]
mov edx, 0x44834c
mov eax, dword [ebx + 0x90]
call fcn.0043a8e8
mov ecx, dword [ebp - 0x18]
mov edx, 0x448374
mov eax, esi
call fcn.00438f00
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x1c]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x98]
call fcn.00439ee8
mov ecx, dword [ebp - 0x1c]
mov edx, 0x448384
mov eax, esi
call fcn.00438f00
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x3c]
call fcn.00439ee8
mov ecx, dword [ebp - 0x20]
mov edx, 0x448390
mov eax, esi
call fcn.00438f00
cmp byte [ebx + 0xc5], 0
jne 0x447f0a
xor ecx, ecx
mov edx, 0x44839c
mov eax, esi
call fcn.00438f00
jmp 0x447f33
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x24]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x30]
call fcn.00439ee8
mov ecx, dword [ebp - 0x24]
mov edx, 0x44839c
mov eax, esi
call fcn.00438f00
lea edx, [ebp - 0x28]
mov eax, dword [ebx + 0x78]
call fcn.00414574
mov ecx, dword [ebp - 0x28]
mov edx, 0x4483a8
mov eax, esi
call fcn.00438f00
cmp byte [ebx + 0x60], 1
jne 0x448040
mov eax, ebx
call fcn.00447b9c
cmp al, 1
jne 0x447f78
mov ecx, 0x4483bc
mov edx, 0x4483c8
mov eax, esi
call fcn.00438f00
jmp 0x44805e
mov ecx, dword [ebx + 0x40]
mov edx, 0x4483e0
mov eax, esi
call fcn.00438f00
cmp dword [ebx + 0x38], 0
jbe 0x447fd7
lea ecx, [ebp - 0x30]
mov edx, 0x4483e0
mov eax, esi
call fcn.00438cdc
push dword [ebp - 0x30]
push 0x4483f8
push 0x448404
push 0x448410
push 0x44841c
push dword [ebx + 0x38]
push 0x448430
lea eax, [ebp - 0x2c]
mov edx, 7
call fcn.00404ba4
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4483e0
mov eax, esi
call fcn.00438f00
mov eax, dword [ebx + 0x6c]
call fcn.00413cac
test eax, eax
jle 0x44801e
lea ecx, [ebp - 0x38]
mov edx, 0x4483e0
mov eax, esi
call fcn.00438cdc
push dword [ebp - 0x38]
push 0x44843c
push dword [ebp - 0xc]
push 0x448430
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00404ba4
mov ecx, dword [ebp - 0x34]
mov edx, 0x4483e0
mov eax, esi
call fcn.00438f00
mov ecx, 0x4483bc
mov edx, 0x4483c8
mov eax, esi
call fcn.00438f00
mov ecx, dword [ebx + 0x44]
mov edx, 0x448454
mov eax, esi
call fcn.00438f00
jmp 0x44805e
mov ecx, dword [ebx + 0x44]
mov edx, 0x448454
mov eax, esi
call fcn.00438f00
mov ecx, dword [ebx + 0x40]
mov edx, 0x4483e0
mov eax, esi
call fcn.00438f00
lea edx, [ebp - 0x3c]
mov eax, dword [ebx + 0xa8]
call fcn.0042a974
mov ecx, dword [ebp - 0x3c]
mov edx, 0x448478
mov eax, esi
call fcn.00438f00
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x40]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0xa4]
call fcn.00439ee8
mov ecx, dword [ebp - 0x40]
mov edx, 0x448488
mov eax, esi
call fcn.00438f00
movzx eax, byte [ebp - 0xe]
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x44]
push eax
movzx ecx, byte [ebp - 0xd]
mov edx, 0x44834c
mov eax, dword [ebx + 0x88]
call fcn.0043a8e8
mov ecx, dword [ebp - 0x44]
mov edx, 0x44849c
mov eax, esi
call fcn.00438f00
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x48]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x94]
call fcn.00439054
mov ecx, dword [ebp - 0x48]
mov edx, 0x4484b4
mov eax, esi
call fcn.00438f00
mov ecx, dword [ebx + 0x9c]
mov edx, 0x4484d8
mov eax, esi
call fcn.00438f00
mov eax, ebx
call fcn.00448d84
test al, al
je 0x448147
call fcn.00409d44
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x4c]
xor eax, eax
call fcn.0042822c
mov ecx, dword [ebp - 0x4c]
mov edx, 0x4484ec
mov eax, esi
call fcn.00438f00
jmp 0x448166
push dword [ebx + 0x54]
push dword [ebx + 0x50]
lea edx, [ebp - 0x50]
xor eax, eax
call fcn.0042822c
mov ecx, dword [ebp - 0x50]
mov edx, 0x4484ec
mov eax, esi
call fcn.00438f00
cmp byte [ebx + 0x8c], 2
je 0x448199
lea edx, [ebp - 0x54]
movzx eax, byte [ebx + 0x8c]
add eax, 1
jno 0x448183
call fcn.00403954
call fcn.00408258
mov ecx, dword [ebp - 0x54]
mov edx, 0x4484fc
mov eax, esi
call fcn.00438f00
jmp 0x4481be
mov edx, 0x4484fc
mov eax, esi
call fcn.00438e70
test eax, eax
jl 0x4481be
mov edx, 0x4484fc
mov eax, esi
call fcn.00438e70
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4481d4
mov edx, dword [ebx + 0x5c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
lea edx, [ebp - 0x58]
mov eax, ebx
call fcn.00448f70
cmp dword [ebp - 0x58], 0
jne 0x448219
lea ecx, [ebp - 0x5c]
mov edx, 0x448510
mov eax, esi
call fcn.00438cdc
cmp dword [ebp - 0x5c], 0
je 0x448232
lea ecx, [ebp - 0x60]
mov edx, 0x448510
mov eax, esi
call fcn.00438cdc
mov ecx, dword [ebp - 0x60]
mov edx, 0x448524
mov eax, esi
call fcn.00438f00
jmp 0x448232
lea edx, [ebp - 0x64]
mov eax, ebx
call fcn.00448f70
mov ecx, dword [ebp - 0x64]
mov edx, 0x448524
mov eax, esi
call fcn.00438f00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x448261
lea eax, [ebp - 0x64]
mov edx, 0x15
call fcn.00404848
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404848
ret