Function at 0x47aac4
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe94
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
mov esi, 0x674690
xor eax, eax
push ebp
push 0x47cec5
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x50]
mov eax, 0x47ced4
call fcn.0065ca3c
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov al, 4
call fcn.0062ad70
mov edx, dword [ebp - 0x54]
mov eax, 0x6749b0
pop ecx
call fcn.00403b24
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 8]
cmp dword [0x6749a8], 0x2656743
jg 0x47ab43
mov edx, 0x47cee8
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x47ab4f
mov edx, 0x47cefc
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov edx, 0x47cf0c
mov eax, ebx
call fcn.00621118
mov dword [esi], eax
call fcn.0065de58
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.0062bef4
mov ecx, eax
mov edx, 0x47cf20
mov eax, ebx
call fcn.00621104
mov dword [esi + 4], eax
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47aba6
mov eax, dword [0x47cf40]
mov dword [esi + 8], eax
jmp 0x47abac
mov eax, dword [ebp - 0x30]
mov dword [esi + 8], eax
cmp dword [0x6749a8], 0x2656743
jg 0x47abcb
mov eax, dword [0x47cf44]
not eax
and eax, dword [esi + 8]
or eax, dword [0x47cf48]
mov dword [esi + 8], eax
mov eax, dword [0x6723a0]
cmp byte [eax], 0
jne 0x47abd9
or dword [esi + 8], 1
mov ecx, 0x7fffffff
mov edx, 0x47cf54
mov eax, ebx
call fcn.00621104
mov dword [esi + 0xc], eax
mov edx, 0x47cf68
mov eax, ebx
call fcn.00621118
mov dword [esi + 0x10], eax
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47ac1e
mov eax, dword [0x47cf74]
or eax, dword [esi + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [0x47cf78]
not eax
and eax, dword [esi + 0x10]
mov dword [esi + 0x10], eax
test byte [esi + 0x10], 1
setne al
call fcn.0065503c
lea eax, [esi + 0x15]
push eax
push 0
push 0
push 0
push 0x303
push 0x201
lea ecx, [esi + 0x14]
mov edx, 0x47cf84
mov eax, ebx
call fcn.0062112c
lea eax, [esi + 0x14]
mov dword [esi + 0x16], eax
push 0x5f005f
push 0x4b004b
xor ecx, ecx
mov edx, 0x47cf98
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x1a], eax
lea ecx, [ebp - 0x50]
mov edx, 0x47cfac
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x1e]
call fcn.004038bc
lea ecx, [ebp - 0x58]
mov edx, 0x47cfc4
mov eax, ebx
call fcn.00621258
mov eax, dword [ebp - 0x58]
call fcn.00539b60
mov dword [esi + 0x22], eax
mov edi, dword [esi + 0x22]
cmp edi, 0x80000000
je 0x47acb8
mov eax, edi
call fcn.00539b90
test al, al
jne 0x47acbd
xor eax, eax
mov dword [esi + 0x22], eax
call fcn.00501d74
mov edx, dword [eax + 0x194]
add edx, 0x64
push edx
mov edx, dword [eax + 0x19c]
add edx, 0x64
push edx
lea edx, [esi + 0x26]
push edx
push 0x1010101
mov edx, dword [0x671fec]
movzx edx, byte [edx]
inc edx
shl edx, 0x10
or edx, 0x809
or edx, 0xa000000
push edx
push 0x3010708
mov eax, dword [eax + 0x190]
lea ecx, [eax + 0x64]
mov edx, 0x47cfdc
mov eax, ebx
call fcn.0062112c
lea eax, [ebp - 0x58]
push eax
mov ecx, 0x47cff0
mov edx, 0x47d004
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x10]
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x2a]
call fcn.004032c8
lea ecx, [ebp - 0x50]
mov edx, 0x47d01c
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x2e]
call fcn.004038bc
lea ecx, [ebp - 0x54]
mov edx, 0x47d030
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x32]
call fcn.004038bc
lea eax, [esi + 0x37]
push eax
push 0
push 0
push 0
push 0xffff
push 0xffff
lea ecx, [esi + 0x36]
mov edx, 0x47d04c
mov eax, ebx
call fcn.0062112c
lea ecx, [ebp - 0x50]
mov edx, 0x47d05c
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x38]
call fcn.004038bc
push 0xffff
push 0x20
mov ecx, 0x20
mov edx, 0x47d074
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x3c], eax
push 0x3e8
push 0xc8
mov ecx, 1
mov edx, 0x47d08c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x40], eax
mov ecx, dword [0x6723d8]
mov ecx, dword [ecx]
mov edx, 0x47d0a0
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x44], eax
mov ecx, 0xffff
mov edx, 0x47d0b8
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x48], eax
mov ecx, 0xff
mov edx, 0x47d0cc
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x4c], eax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x47d0d8
mov edx, 0x47d0ec
mov eax, ebx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x50]
call fcn.004038bc
push 0x7fffffff
push 0
xor ecx, ecx
mov edx, 0x47d100
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x54], eax
push 0x7fffffff
push 0
xor ecx, ecx
mov edx, 0x47d114
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x58], eax
push 0x7fffffff
push 0
xor ecx, ecx
mov edx, 0x47d128
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x5c], eax
lea ecx, [ebp - 0x54]
mov edx, 0x47d13c
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x60]
call fcn.004038bc
xor ecx, ecx
mov edx, 0x47d150
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
inc eax
mov byte [esi + 0x64], al
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x47d160
mov edx, 0x47d17c
mov eax, ebx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x65]
call fcn.004038bc
push 0xffff
push 0xf081
mov ecx, 0x20
mov edx, 0x47d198
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x69], eax
mov edx, 0x47d1b4
mov eax, ebx
call fcn.00621118
mov dword [esi + 0x6d], eax
mov eax, dword [0x6749a4]
mov dword [ebp - 0x30], eax
mov dword [0x6749a4], 0x2656744
mov eax, dword [esi + 0x71]
lea ecx, [eax + 8]
mov edx, 0x47d1d0
mov eax, ebx
call fcn.0062137c
mov edi, dword [esi + 0x71]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [0x6749a4], eax
mov eax, dword [edi + 8]
mov dword [edi + 0xc], eax
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x47af5e
push 1
lea edx, [ebp - 0x30]
xor ecx, ecx
call fcn.00656790
mov eax, dword [esi + 0x71]
cmp dword [eax + 8], 0x36
jle 0x47af52
push 0x1f4
push 0x64
mov ecx, 0xa
mov edx, 0x47d1e0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x75], eax
push 4
push 2
xor ecx, ecx
mov edx, 0x47d1f8
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x79], al
push 0xc
push 4
xor ecx, ecx
mov edx, 0x47d214
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x7a], al
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47afc3
mov al, byte [esi + 0x7a]
add al, 0xf6
sub al, 2
jae 0x47afc3
mov byte [esi + 0x7a], 4
lea eax, [esi + 0x83]
push eax
lea eax, [esi + 0x87]
push eax
push 0
push 0x10101
push 0x3f3f3f
push 0x10205
lea ecx, [esi + 0x7b]
mov edx, 0x47d228
mov eax, ebx
call fcn.0062112c
push 0x4000
push 5
mov ecx, 1
mov edx, 0x47d238
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x7f], eax
push 0xff
push 2
xor ecx, ecx
mov edx, 0x47d250
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x8b], eax
push 0xf4240
push 0x1f4
mov ecx, 0xa
mov edx, 0x47d26c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x8f], eax
push 2
push 2
xor ecx, ecx
mov edx, 0x47d284
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x93], al
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [0x669074]
mov edx, 0x47d2a0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x10]
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x94]
call fcn.004032c8
push 8
push 0x66907c
lea ecx, [esi + 0x98]
mov edx, 0x47d2b0
mov eax, ebx
call fcn.00621408
lea ecx, [ebp - 0x50]
mov edx, 0x47d2c8
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xa0]
call fcn.004038bc
lea eax, [ebp - 0x58]
push eax
xor ecx, ecx
mov edx, 0x47d2dc
mov eax, ebx
call fcn.00621290
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0xa4]
call fcn.004032c8
lea ecx, [ebp - 0x54]
mov edx, 0x47d2f4
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00623444
mov eax, dword [ebp - 0x50]
call fcn.006562e4
mov edx, dword [0x6727b8]
mov dword [edx], eax
mov eax, dword [0x6727b8]
mov eax, dword [eax]
mov dl, 1
call fcn.00658220
cmp dword [0x6749a8], 0x2656743
jg 0x47b12a
mov edx, 0x47cefc
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
push 4
push 0xffffffffffffffff
xor ecx, ecx
mov edx, 0x47d300
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0xa8], al
cmp byte [esi + 0xa8], 0xff
jne 0x47b170
mov eax, dword [0x6729b0]
mov eax, dword [eax]
mov edx, 0xd
call fcn.0065e778
cmp al, 0x30
jne 0x47b169
mov byte [esi + 0xa8], 0
jmp 0x47b170
mov byte [esi + 0xa8], 1
cmp dword [0x6749a8], 0x2656743
jg 0x47b196
push 0x1e
push 0xa
xor ecx, ecx
mov edx, 0x47d318
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0xa9], eax
jmp 0x47b1ae
push 0x1e
push 0xa
xor ecx, ecx
mov edx, 0x47d32c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0xa9], eax
lea ecx, [ebp - 8]
mov edx, 0x47d340
mov eax, ebx
call fcn.00621258
cmp dword [ebp - 8], 0
je 0x47b295
mov eax, dword [ebp - 8]
call fcn.0040351c
mov edx, eax
shr edx, 3
mov eax, dword [esi + 0xad]
call fcn.00656a70
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
call fcn.0040351c
mov ecx, eax
mov eax, dword [esi + 0xad]
mov edx, dword [eax + 0x1c]
lea eax, [ebp - 0x30]
call fcn.00635f74
mov eax, dword [esi + 0xad]
call fcn.00656de0
mov eax, dword [esi + 0xad]
mov eax, dword [eax + 0x18]
dec eax
cmp eax, 0
jl 0x47b24f
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0xad]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
cmp eax, 2
jl 0x47b238
cmp eax, 0x7d0
jle 0x47b246
mov edx, dword [ebp - 0x30]
mov eax, dword [esi + 0xad]
call fcn.00656cdc
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47b21d
mov eax, dword [esi + 0xad]
mov eax, dword [eax + 0x18]
sub eax, 2
cmp eax, 0
jl 0x47b295
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0xad]
mov edx, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [edx + ecx*4]
mov ecx, dword [esi + 0xad]
mov ecx, dword [ecx + 0x1c]
mov edi, dword [ebp - 0x30]
cmp edx, dword [ecx + edi*4 + 4]
jne 0x47b28c
mov edx, dword [ebp - 0x30]
call fcn.00656cdc
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47b263
mov eax, dword [esi + 0xad]
cmp dword [eax + 0x18], 0
jne 0x47b2b7
mov edx, dword [0x6724bc]
mov ecx, 0x40
mov eax, dword [esi + 0xad]
call fcn.00656c50
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
call fcn.00627018
mov ecx, dword [ebp - 0x54]
mov edx, 0x47d354
mov eax, ebx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xb1]
call fcn.004038bc
cmp dword [0x6749a8], 0x2656743
jg 0x47b329
mov edx, 0x47d364
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
push 0xffff
mov eax, dword [0x671ff4]
movzx eax, word [eax]
push eax
xor ecx, ecx
mov edx, 0x47d378
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov word [esi + 0xb5], ax
mov edx, 0x47cefc
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x47b34c
push 0xffff
mov eax, dword [0x671ff4]
movzx eax, word [eax]
push eax
xor ecx, ecx
mov edx, 0x47d388
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov word [esi + 0xb5], ax
or word [esi + 0xb5], 0x20
test byte [esi + 0xb5], 0x80
jne 0x47b37a
test byte [esi + 0x17d], 0x10
je 0x47b370
or dword [esi + 0x17c], 0x2000
and dword [esi + 0x17c], 0xffffefff
lea eax, [esi + 0xbd]
push eax
lea eax, [esi + 0xbe]
push eax
push 0
push 0
push 0x10401
push 0x10201
lea ecx, [esi + 0xbc]
mov edx, 0x47d398
mov eax, ebx
call fcn.0062112c
push 4
push 4
xor ecx, ecx
mov edx, 0x47d3ac
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0xb7], al
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47b3d3
mov byte [esi + 0xb7], 0
jmp 0x47b423
mov eax, dword [0x6720ec]
cmp byte [eax], 0
je 0x47b406
cmp byte [esi + 0xb7], 4
sete al
and eax, 0x7f
mov edx, dword [0x672410]
mov al, byte [edx + eax]
push eax
mov eax, dword [0x672264]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x88]
jmp 0x47b423
mov al, byte [esi + 0xb7]
add al, 0xfd
sub al, 2
jb 0x47b41c
mov eax, dword [0x672234]
cmp byte [eax], 0
jne 0x47b423
mov byte [esi + 0xb7], 0
push 2
push 0
xor ecx, ecx
mov edx, 0x47d3c0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0xb8], al
cmp dword [0x6749a8], 0x2656743
jg 0x47b47b
lea eax, [ebp - 0x5c]
push eax
mov ecx, 0x47d3d0
mov edx, 0x47d404
mov eax, ebx
call fcn.00621290
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.00623410
mov edx, dword [ebp - 0x58]
mov eax, dword [0x67256c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
call fcn.006575b4
jmp 0x47b4ad
lea eax, [ebp - 0x5c]
push eax
mov ecx, 0x47d3d0
mov edx, 0x47d418
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x10]
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.00623410
mov edx, dword [ebp - 0x58]
mov eax, dword [0x67256c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
call fcn.006575b4
mov eax, dword [0x67256c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dl, 1
call fcn.00658220
lea eax, [ebp - 0x5c]
push eax
xor ecx, ecx
mov edx, 0x47d42c
mov eax, ebx
call fcn.00621290
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.00623410
mov eax, dword [ebp - 0x58]
push eax
call fcn.00452ec0
mov eax, dword [eax + 0x2c]
pop edx
call fcn.006575b4
push ebp
call fcn.0047a7b4
pop ecx
push ebp
call fcn.0047a950
pop ecx
mov eax, dword [0x6723a0]
cmp byte [eax], 0
jne 0x47b535
call fcn.00498f00
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 8]
mov ecx, 0x47d440
call fcn.004938c4
call fcn.00498f00
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 8]
mov ecx, 0x47d454
call fcn.004938c4
mov edx, 0x47d46c
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea ecx, [ebp - 0x58]
mov edx, 0x47d484
mov eax, ebx
call fcn.00621258
mov eax, dword [ebp - 0x58]
call fcn.00539b60
mov dword [esi + 0xc0], eax
cmp dword [esi + 0xc0], 0x80000000
je 0x47b579
mov eax, dword [esi + 0xc0]
call fcn.00539b90
test al, al
jne 0x47b581
xor eax, eax
mov dword [esi + 0xc0], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov edi, dword [0x672620]
mov eax, dword [0x672294]
mov dword [ebp - 0x48], eax
lea eax, [esi + 0xc4]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [edi]
mov edx, dword [0x6722b0]
mov ecx, dword [edx + eax*4]
lea eax, [ebp - 0x58]
mov edx, 0x47d498
call fcn.00403568
mov eax, dword [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov edx, dword [edx]
call fcn.00403a34
mov ecx, dword [ebp - 0x54]
mov eax, ebx
pop edx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
call fcn.004038bc
mov edx, 0x47d4a8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
call fcn.0065ce24
test al, al
je 0x47b626
call fcn.005397ec
lea edx, [ebp - 0x50]
call fcn.00536730
lea eax, [ebp - 0x50]
mov edx, 0x47d4a8
call fcn.00403ac4
mov eax, dword [ebp - 0x50]
call fcn.0065cc54
test al, al
jne 0x47b626
mov eax, dword [ebp - 0x4c]
mov edx, 0x47d4c8
call fcn.004038bc
inc dword [ebp - 0x30]
add dword [ebp - 0x4c], 4
add dword [ebp - 0x48], 4
add edi, 4
cmp dword [ebp - 0x30], 5
jne 0x47b59d
mov edx, 0x47d4e4
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea eax, [esi + 0xd9]
push eax
lea eax, [esi + 0xdc]
push eax
lea eax, [esi + 0xdb]
push eax
push 0x10000
push 0x1090101
push 0x1030101
lea ecx, [esi + 0xd8]
mov edx, 0x47cf38
mov eax, ebx
call fcn.0062112c
push 3
push 1
or ecx, 0xffffffff
mov edx, 0x47d4f0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0xda], al
cmp dword [0x6749a8], 0x2656743
jg 0x47b6d5
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0x47d4fc
call fcn.0065ca3c
mov ecx, dword [ebp - 0x54]
mov edx, 0x47d518
mov eax, ebx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xe0]
call fcn.004038bc
jmp 0x47b703
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0x47d4fc
call fcn.0065ca3c
mov ecx, dword [ebp - 0x54]
mov edx, 0x47d528
mov eax, ebx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xe0]
call fcn.004038bc
lea ecx, [ebp - 0x50]
mov edx, 0x47d538
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xe4]
call fcn.004038bc
cmp dword [0x6749a8], 0x2656743
jg 0x47b73a
mov edx, 0x47d54c
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x47b746
mov edx, 0x47d568
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea edx, [ebp - 0x50]
mov eax, 0x47d574
call fcn.0065ca3c
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov al, 4
call fcn.0062ad70
mov edx, dword [ebp - 0x54]
lea eax, [esi + 0xf0]
pop ecx
call fcn.00403b24
lea ecx, [ebp - 0x54]
mov edx, 0x47d58c
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xf4]
call fcn.004038bc
lea ecx, [ebp - 0x50]
mov edx, 0x47d5a4
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xf8]
call fcn.004038bc
lea ecx, [ebp - 0x54]
mov edx, 0x47d5b8
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00623444
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0xfc]
call fcn.004038bc
lea ecx, [ebp - 0x58]
mov edx, 0x47d5cc
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x100]
call fcn.004032c8
lea eax, [esi + 0x120]
push eax
lea eax, [esi + 0x121]
push eax
push 0
push 0
push 0x10501
push 0x500
lea ecx, [esi + 0x122]
mov edx, 0x47cf38
mov eax, ebx
call fcn.0062112c
lea ecx, [ebp - 0x50]
mov edx, 0x47d5e0
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x104]
call fcn.004038bc
push 0x7bc0
push 0x2490
mov ecx, 0x5a0
mov edx, 0x47d5f0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x108], eax
push 0x7bc0
push 0x1464
mov ecx, 0x5a0
mov edx, 0x47d600
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x10c], eax
push 0x1f40
push 0xfa0
xor ecx, ecx
mov edx, 0x47d610
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x110], eax
push 0x1f40
push 0x1388
mov ecx, 0xfa0
mov edx, 0x47d620
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x114], eax
push 0x1f40
push 0x3e8
xor ecx, ecx
mov edx, 0x47d630
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x118], eax
push 0x7d0
push 0x3e8
xor ecx, ecx
mov edx, 0x47d640
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x11c], eax
lea ecx, [ebp - 0x58]
mov edx, 0x47d650
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x124]
call fcn.004032c8
mov edx, 0x47d664
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov al, 5
call fcn.00626064
test al, al
je 0x47b93c
mov byte [ebp - 0x11], 2
jmp 0x47b966
push 2
push 2
xor ecx, ecx
mov edx, 0x47d674
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 1
je 0x47b962
mov al, 4
call fcn.00626064
test al, al
je 0x47b966
mov byte [ebp - 0x11], 0
mov eax, dword [0x6720f0]
mov eax, dword [eax]
mov ecx, 6
cdq
idiv ecx
mov dword [ebp - 0x28], eax
mov eax, dword [0x6720b8]
mov eax, dword [eax]
mov ecx, 6
cdq
idiv ecx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x5c]
call fcn.0047a670
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x47d684
call fcn.00403568
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x28]
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x5c]
call fcn.0047a670
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x47d690
call fcn.00403568
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x18], eax
mov eax, dword [0x6720f0]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
lea eax, [ebp - 0x5c]
call fcn.0047a670
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x47d69c
call fcn.00403568
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x672278]
mov ecx, dword [ecx]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [0x6720b8]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x2c]
shl eax, 2
push eax
lea eax, [ebp - 0x5c]
call fcn.0047a670
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x47d6a8
call fcn.00403568
mov edx, dword [ebp - 0x58]
mov ecx, dword [0x672250]
mov ecx, dword [ecx]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [ebp - 0x24], eax
call fcn.00501d74
mov dword [ebp - 0x38], eax
xor edx, edx
mov eax, dword [ebp - 0x38]
call fcn.00641e54
call fcn.00656518
mov edi, eax
push edi
push 0x47a6b8
push 0
push 0
mov eax, dword [0x6724f4]
mov eax, dword [eax]
call eax
mov byte [ebp - 0x31], 1
mov eax, dword [edi + 8]
test eax, eax
jns 0x47ba8c
add eax, 0xf
sar eax, 4
dec eax
cmp eax, 0
jl 0x47bae5
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
sub eax, 0xc8
push eax
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0xc8
mov edx, dword [ebp - 0x18]
add edx, 0x64
mov eax, dword [ebp - 0x1c]
add eax, 0x64
call fcn.00656220
lea edx, [ebp - 0x6c]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x30]
shl ecx, 4
add eax, ecx
call fcn.0062249c
test al, al
je 0x47badc
mov byte [ebp - 0x31], 0
jmp 0x47bae5
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47ba98
mov eax, edi
call fcn.004028c0
cmp byte [ebp - 0x31], 0
je 0x47bb10
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
mov eax, dword [ebp - 0x2c]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi + 0x3c]
jmp 0x47bb26
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi + 0x3c]
mov dl, byte [ebp - 0x11]
mov eax, dword [ebp - 0x38]
call fcn.00641e54
mov edx, 0x47d6b4
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov cl, 1
mov edx, 0x47d6cc
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov byte [esi + 0x138], al
test byte [esi + 0xb], 4
je 0x47bb74
push 0x63
push 1
mov ecx, 1
mov edx, 0x47d6e0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x13c], eax
jmp 0x47bb7a
inc dword [esi + 0x13c]
mov eax, dword [0x6723a0]
cmp byte [eax], 0
jne 0x47bbb4
push 2
push 0
xor ecx, ecx
mov edx, 0x47d6f8
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x140], al
push 2
push 2
xor ecx, ecx
mov edx, 0x47d70c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x141], al
mov edx, 0x47d720
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [ebp - 4]
add eax, 0xc
mov dword [ebp - 0x3c], eax
push 0x1f4
push 0x64
mov ecx, 0xa
mov edx, 0x47d730
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3c]
mov dword [edx], eax
push 4
push 4
xor ecx, ecx
mov edx, 0x47d744
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3c]
mov byte [edx + 4], al
push ebp
mov eax, dword [ebp - 4]
add eax, 0x21
call fcn.0047a718
pop ecx
cmp dword [0x6749a8], 0x2656743
jg 0x47bc25
mov edx, 0x47d758
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x47bc31
mov edx, 0x47d778
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
call fcn.00603f80
mov dword [ebp - 0x40], eax
push 1
push 0
xor ecx, ecx
mov edx, 0x47d78c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x40]
mov byte [edx + 0x207], al
push 0xff
push 0
xor ecx, ecx
mov edx, 0x47d79c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x40]
mov byte [edx + 0x208], al
push 0x1e
push 0
xor ecx, ecx
mov edx, 0x47d7b4
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
dec eax
cmp eax, 0
jl 0x47bcc7
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x58]
mov eax, 0x47d7c0
mov edx, dword [ebp - 0x30]
call fcn.0065da0c
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x50]
mov eax, ebx
call fcn.00621274
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x1a4]
mov eax, dword [ebp - 0x40]
call fcn.006081d0
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47bc8d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x1a4]
xor edx, edx
call fcn.006467a4
push 0x1e
push 0
xor ecx, ecx
mov edx, 0x47d7cc
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
dec eax
cmp eax, 0
jl 0x47bd2c
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x58]
mov eax, 0x47d7dc
mov edx, dword [ebp - 0x30]
call fcn.0065da0c
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x50]
mov eax, ebx
call fcn.00621274
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x1b0]
mov eax, dword [ebp - 0x40]
call fcn.006081d0
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47bcf2
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x1b0]
xor edx, edx
call fcn.006467a4
mov edx, 0x47d7e8
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47bd98
mov eax, dword [0x47d7f0]
mov dword [esi + 0x144], eax
mov eax, dword [0x6720f0]
mov eax, dword [eax]
add eax, eax
lea eax, [eax + eax*4]
mov edx, dword [0x6720b8]
mov ecx, dword [edx]
cdq
idiv ecx
cmp eax, 0xe
jle 0x47bda1
or dword [esi + 0x144], 0x1000
jmp 0x47bda1
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x144], eax
push 2
push 2
xor ecx, ecx
mov edx, 0x47d7fc
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x148], al
cmp dword [0x6749a8], 0x2656743
jg 0x47be0f
push 2
push 1
xor ecx, ecx
mov edx, 0x47d440
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x14c], al
push 1
push 0
xor ecx, ecx
mov edx, 0x47d810
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x14d], al
push 2
push 0
xor ecx, ecx
mov edx, 0x47d828
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x14e], al
jmp 0x47be3a
lea eax, [esi + 0x14d]
push eax
lea eax, [esi + 0x14e]
push eax
push 0
push 0
push 0x20102
push 1
lea ecx, [esi + 0x14c]
mov edx, 0x47d440
mov eax, ebx
call fcn.0062112c
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47be5b
cmp byte [esi + 0x14c], 2
jne 0x47be54
mov byte [esi + 0x14c], 1
mov byte [esi + 0x14e], 0
cmp dword [0x6749a8], 0x2656743
jg 0x47bedb
mov cl, 1
mov edx, 0x47d840
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov byte [esi + 0x14f], al
cmp dword [0x6749a8], 0x1c9cb50
jge 0x47bea6
mov eax, dword [0x6720f0]
mov eax, dword [eax]
shl eax, 5
lea eax, [eax + eax*2]
mov edx, dword [0x672138]
mov ecx, dword [edx]
cdq
idiv ecx
cmp eax, 0x514
jg 0x47bebe
push 4
push 2
xor ecx, ecx
mov edx, 0x47d850
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x150], al
push 5
push 1
mov ecx, 1
mov edx, 0x47d864
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x155], eax
jmp 0x47bf0c
lea eax, [esi + 0x150]
push eax
lea eax, [esi + 0x155]
push eax
push 0
push 0x10000
push 0x50401
push 0x10201
lea ecx, [esi + 0x14f]
mov edx, 0x47d840
mov eax, ebx
call fcn.0062112c
mov eax, dword [0x6720f0]
mov eax, dword [eax]
mov ecx, 3
cdq
idiv ecx
push eax
mov edx, dword [0x6720f0]
mov edx, dword [edx]
test edx, edx
jns 0x47bf2b
add edx, 3
sar edx, 2
mov eax, 0xaa
call fcn.0065b28c
push eax
mov ecx, dword [0x6728b0]
mov ecx, dword [ecx]
mov edx, 0x47d878
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x151], eax
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47bf6c
mov eax, dword [0x6725ac]
mov eax, dword [eax]
mov dword [esi + 0x15a], eax
jmp 0x47bf86
mov ecx, dword [0x672518]
mov ecx, dword [ecx]
mov edx, 0x47d88c
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x15a], eax
cmp dword [0x6749a8], 0x2656743
jg 0x47bfce
mov cl, 1
mov edx, 0x47d8a0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov byte [esi + 0x15e], al
mov eax, dword [0x6723a0]
movzx eax, byte [eax]
mov edx, 2
sub edx, eax
push edx
push 0
xor ecx, ecx
mov edx, 0x47d8b8
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x15f], al
jmp 0x47c005
lea eax, [esi + 0x15f]
push eax
push 0
push 0
push 0
mov eax, dword [0x6723a0]
movzx eax, byte [eax]
mov edx, 2
sub edx, eax
shl edx, 8
or edx, 1
push edx
push 1
lea ecx, [esi + 0x15e]
mov edx, 0x47d8a0
mov eax, ebx
call fcn.0062112c
mov edx, 0x47d8c8
mov eax, ebx
call fcn.00621118
lea edx, [esi + 0x160]
mov dword [edx], eax
mov edx, 0x47d8d8
mov eax, ebx
call fcn.00621118
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
and eax, 0xffff
call fcn.00510290
mov byte [esi + 0x164], al
mov eax, dword [ebp - 0x30]
shr eax, 0x10
call fcn.00510290
mov byte [esi + 0x165], al
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47c068
mov ax, word [0x47d8e0]
mov word [esi + 0x166], ax
jmp 0x47c0fb
mov edx, 0x47d8ec
mov eax, ebx
call fcn.00621118
mov edi, eax
mov ax, word [0x47cf44]
mov word [esi + 0x166], ax
mov dword [ebp - 0x30], 0xa
mov al, byte [ebp - 0x30]
cmp al, 0xf
ja 0x47c097
and eax, 0x7f
bt edi, eax
jae 0x47c0af
mov eax, dword [ebp - 0x30]
call fcn.00510290
cmp al, 0xf
ja 0x47c0af
and eax, 0x7f
bts dword [esi + 0x166], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47c08a
mov edx, 0x47d900
mov eax, ebx
call fcn.00621118
mov edi, eax
mov dword [ebp - 0x30], 0xa
mov al, byte [ebp - 0x30]
cmp al, 0xf
ja 0x47c0da
and eax, 0x7f
bt edi, eax
jae 0x47c0f2
mov eax, dword [ebp - 0x30]
call fcn.00510290
cmp al, 0xf
ja 0x47c0f2
and eax, 0x7f
bts dword [esi + 0x168], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47c0cd
call fcn.004798cc
push 8
push 8
xor ecx, ecx
mov edx, 0x47d910
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x16a], eax
push 3
push 3
xor ecx, ecx
mov edx, 0x47d924
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x16e], al
mov ecx, 0x80
mov edx, 0x47d940
mov eax, ebx
call fcn.00621104
mov byte [esi + 0x16f], al
push 0x1f4
push 0
mov ecx, 0xfffffffc
mov edx, 0x47d950
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x170], eax
cmp dword [esi + 0x170], 0
jle 0x47c17f
cmp dword [esi + 0x170], 0xa
jge 0x47c17f
xor eax, eax
mov dword [esi + 0x170], eax
movzx ecx, word [0x669078]
mov edx, 0x47d960
mov eax, ebx
call fcn.00621104
mov word [esi + 0x174], ax
mov eax, 0x48
call fcn.00652900
mov ecx, eax
mov edx, 0x47d974
mov eax, ebx
call fcn.00621104
mov edx, dword [0x6720b8]
mov edx, dword [edx]
call fcn.0065b28c
mov dword [esi + 0x176], eax
cmp dword [esi + 0x176], 0
jle 0x47c1de
cmp dword [esi + 0x176], 0x10
jge 0x47c1de
xor eax, eax
mov dword [esi + 0x176], eax
push ebp
mov eax, dword [ebp - 4]
add eax, 0x1c
call fcn.0047a718
pop ecx
mov eax, dword [ebp - 4]
lea edx, [eax + 0x1c]
mov eax, dword [ebp - 4]
call fcn.0047e160
mov edx, 0x47d988
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47c22f
mov eax, dword [0x47d990]
mov dword [esi + 0x17c], eax
jmp 0x47c238
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x17c], eax
test byte [esi + 0x17c], 1
setne al
neg al
sbb eax, eax
push eax
call fcn.00501d74
call fcn.0064a424
push eax
call sub.shell32.dll_DragAcceptFiles
lea eax, [esi + 0x184]
call fcn.005447c4
mov edx, 0x47d99c
mov eax, ebx
call fcn.00621118
mov dword [esi + 0x19c], eax
mov ecx, 0xff0000
mov edx, 0x47d9b0
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x1c0], eax
push 0x14
push 2
mov ecx, 1
mov edx, 0x47d9c4
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x1e0], eax
cmp dword [0x6749a8], 0x2656743
jg 0x47c30e
mov edx, 0x47d9e8
mov eax, ebx
call fcn.00621118
mov byte [esi + 0x1e4], al
push 0x14
push 0
xor ecx, ecx
mov edx, 0x47d9fc
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x1e8], eax
push 0x14
push 5
xor ecx, ecx
mov edx, 0x47da0c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x1f0], eax
push 9
push 1
xor ecx, ecx
mov edx, 0x47da20
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x1f8], eax
jmp 0x47c341
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0x1f0]
push eax
lea eax, [esi + 0x1f8]
push eax
push 0
push 0x91414ff
push 0x1050000
lea ecx, [esi + 0x1e4]
mov edx, 0x47d9e8
mov eax, ebx
call fcn.0062112c
mov edx, 0x47da34
mov eax, ebx
call fcn.00621118
mov dword [esi + 0x1ec], eax
mov ecx, 0xff
mov edx, 0x47da48
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x1f4], eax
mov ecx, 0xff00
mov edx, 0x47da5c
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x1fc], eax
push 2
push 0
xor ecx, ecx
mov edx, 0x47da70
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x200], al
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47c3af
mov dword [esi + 0x204], 0x2d0
jmp 0x47c3cd
push 0x3de0
push 0x2d0
xor ecx, ecx
mov edx, 0x47da80
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x204], eax
mov edx, 0x47da98
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47c405
mov ax, word [0x47daa4]
mov word [esi + 0x208], ax
jmp 0x47c410
mov ax, word [ebp - 0x30]
mov word [esi + 0x208], ax
test byte [esi + 0x208], 0x40
je 0x47c494
call fcn.005397ec
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x50]
mov edx, 0x47dab0
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
add eax, 0x6c
call fcn.004038bc
lea ecx, [ebp - 0x54]
mov edx, 0x47dac8
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
add eax, 0x70
call fcn.004038bc
lea ecx, [ebp - 8]
mov edx, 0x47dae8
mov eax, ebx
call fcn.00621258
cmp dword [ebp - 8], 0
je 0x47c494
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 8]
call fcn.00623410
mov eax, dword [ebp - 0x58]
call fcn.00656260
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x74], eax
lea ecx, [ebp - 0x5c]
mov edx, 0x47db00
mov eax, ebx
call fcn.00621258
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.00623410
mov edx, dword [ebp - 0x58]
mov eax, dword [0x6749b8]
call fcn.006575b4
lea ecx, [ebp - 0x54]
mov edx, 0x47db10
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
mov eax, 0x6749b4
call fcn.004038bc
cmp dword [0x6749b4], 0
jne 0x47c514
lea edx, [ebp - 0x50]
mov eax, 0x47db20
call fcn.0065ca3c
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov al, 4
call fcn.0062ad70
mov edx, dword [ebp - 0x54]
mov eax, 0x6749b4
pop ecx
call fcn.00403b24
push 0
mov eax, dword [0x6749b4]
push eax
call sub.kernel32.dll_CreateDirectoryW
push 9
push 5
xor ecx, ecx
mov edx, 0x47db30
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x20a], eax
push 0x10
push 2
xor ecx, ecx
mov edx, 0x47db48
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x20e], eax
push 0xe42
push 0x78
mov ecx, 1
mov edx, 0x47db60
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x212], eax
push 0x78
push 3
xor ecx, ecx
mov edx, 0x47db80
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x216], eax
push 3
push 0
xor ecx, ecx
mov edx, 0x47db94
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x21a], al
push 5
push 2
xor ecx, ecx
mov edx, 0x47dbac
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x223], al
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, 0x669084
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x30]
sub eax, 1
jb 0x47c5d3
je 0x47c5de
dec eax
je 0x47c5e9
jmp 0x47c5f4
lea eax, [esi + 0x224]
mov dword [ebp - 0x10], eax
jmp 0x47c5fd
lea eax, [esi + 0x228]
mov dword [ebp - 0x10], eax
jmp 0x47c5fd
lea eax, [esi + 0x22c]
mov dword [ebp - 0x10], eax
jmp 0x47c5fd
lea eax, [esi + 0x230]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x4c]
mov dl, byte [edx]
call fcn.00403418
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x5c]
mov edx, 0x47dbc4
call fcn.00403568
mov edx, dword [ebp - 0x5c]
mov ecx, 0x47dbd8
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x10]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x10]
call fcn.004032c8
inc dword [ebp - 0x30]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x30], 4
jne 0x47c5c4
push 2
push 1
xor ecx, ecx
mov edx, 0x47dbe4
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x234], al
lea ecx, [ebp - 0x50]
mov edx, 0x47dbfc
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x235]
call fcn.004038bc
lea ecx, [ebp - 0x58]
mov edx, 0x47dc14
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x239]
call fcn.004032c8
cmp dword [esi + 0x239], 0
jne 0x47c6af
lea eax, [esi + 0x239]
mov edx, 0x47dc30
call fcn.004032c8
lea ecx, [ebp - 0x54]
mov edx, 0x47dc40
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x23d]
call fcn.004038bc
lea ecx, [ebp - 0x58]
mov edx, 0x47dc5c
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x241]
call fcn.004032c8
push 0xb
push 0xffffffffffffffff
or ecx, 0xffffffff
mov edx, 0x47dc74
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x245], eax
push 3
push 0
xor ecx, ecx
mov edx, 0x47dc88
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0x249], al
call fcn.005397ec
mov edi, eax
cmp dword [0x6749a8], 0x2656743
jg 0x47c799
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x58]
mov edx, 0x47dc9c
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x5c]
mov edx, 0x47dcb4
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x60]
mov edx, 0x47dcd4
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x64]
mov edx, 0x47dce8
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x68]
mov edx, 0x47dd00
call fcn.00621f40
jmp 0x47c7f8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x58]
mov edx, 0x47dd1c
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x5c]
mov edx, 0x47dd30
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x60]
mov edx, 0x47dcd4
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x64]
mov edx, 0x47dd44
call fcn.00621f40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x68]
mov edx, 0x47dd58
call fcn.00621f40
mov edx, 0x47dd6c
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47c82e
mov al, byte [0x47dd74]
mov byte [esi + 0x250], al
jmp 0x47c837
mov al, byte [ebp - 0x30]
mov byte [esi + 0x250], al
lea ecx, [ebp - 0x58]
mov edx, 0x47dd80
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0x254]
call fcn.004032c8
push 0x7fffffff
push 0x7fffffff
mov ecx, 4
mov edx, 0x47dd98
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x258], eax
cmp dword [esi + 0x258], 0x7fffffff
je 0x47c89d
cmp dword [esi + 0x258], 0x40
jle 0x47c896
mov dword [esi + 0x258], 0x40
jmp 0x47c89d
and dword [esi + 0x258], 0xfffffffc
cmp dword [0x6749a8], 0x2656743
jg 0x47c8f9
mov edx, 0x47ddac
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
push 1
push 1
xor ecx, ecx
mov edx, 0x47ddbc
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0xbc], al
push 4
push 2
xor ecx, ecx
mov edx, 0x47ddd0
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov byte [esi + 0xbd], al
mov cl, 1
mov edx, 0x47dde8
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov byte [esi + 0xbe], al
mov edx, 0x47ddf8
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [0x6723a0]
cmp byte [eax], 0
je 0x47c91e
xor edx, edx
mov eax, dword [esi + 0x26c]
call fcn.0062de30
jmp 0x47c93b
lea ecx, [ebp - 0x58]
mov edx, 0x47de0c
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
mov eax, dword [esi + 0x26c]
call fcn.0062de30
mov eax, dword [0x6720e4]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x26c]
call fcn.0062e014
lea ecx, [ebp - 8]
mov edx, 0x47de1c
mov eax, ebx
call fcn.00621258
mov eax, dword [ebp - 8]
call fcn.0040351c
dec eax
je 0x47c9d9
cmp dword [ebp - 8], 0
je 0x47c988
mov eax, dword [ebp - 8]
call fcn.0040351c
and eax, 0x80000007
jns 0x47c984
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x47c9a0
mov edx, dword [0x6721ec]
mov ecx, 0x120
mov eax, dword [esi + 0x274]
call fcn.00656c50
jmp 0x47c9d9
mov eax, dword [ebp - 8]
call fcn.0040351c
mov edx, eax
shr edx, 3
mov eax, dword [esi + 0x274]
call fcn.00656a70
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
call fcn.0040351c
mov ecx, eax
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x1c]
lea eax, [ebp - 0x30]
call fcn.00635f74
mov ecx, 0xff000000
xor edx, edx
mov eax, dword [esi + 0x274]
call fcn.00656c9c
mov edx, 0x47de2c
mov eax, ebx
call fcn.00621118
mov dword [esi + 0x278], eax
lea ecx, [ebp - 8]
mov edx, 0x47de40
mov eax, ebx
call fcn.00621258
mov eax, dword [ebp - 8]
call fcn.0040351c
cmp eax, 0x80
je 0x47ca32
lea eax, [esi + 0x27c]
mov ecx, 0xff
mov edx, 0x40
call fcn.00402694
jmp 0x47ca4b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
lea edx, [esi + 0x27c]
lea eax, [ebp - 0x30]
mov ecx, 0x80
call fcn.00635f74
mov edx, 0x47de58
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov edx, 0x47de78
mov eax, ebx
call fcn.00621118
dec eax
cmp eax, 0
jl 0x47cae7
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x58]
mov eax, 0x47de80
mov edx, dword [ebp - 0x30]
call fcn.0065da0c
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0xc]
mov eax, ebx
call fcn.00621274
cmp dword [ebp - 0xc], 0
je 0x47cade
mov dl, 1
mov eax, dword [0x61e598]
call fcn.0062dec0
mov edi, eax
lea ecx, [ebp - 0x5c]
mov eax, 0x47de88
mov edx, dword [ebp - 0x30]
call fcn.0065da0c
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x58]
mov eax, ebx
call fcn.00621258
mov edx, dword [ebp - 0x58]
mov eax, edi
call fcn.0062de30
lea eax, [edi + 4]
mov edx, dword [ebp - 0xc]
call fcn.004038bc
mov ecx, edi
xor edx, edx
mov eax, dword [esi + 0x270]
call fcn.00656c9c
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47ca6c
mov edx, 0x47de98
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47cb1f
mov ax, word [0x47dea4]
mov word [esi + 0x2bc], ax
jmp 0x47cb2a
mov ax, word [ebp - 0x30]
mov word [esi + 0x2bc], ax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x47deac
mov edx, 0x47deb8
mov eax, ebx
call fcn.006211c8
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0xc]
call fcn.00623444
lea eax, [ebp - 0x16c]
mov edx, dword [ebp - 0xc]
mov ecx, 0xff
call fcn.00403a44
lea eax, [ebp - 0x16c]
mov edx, 0x47dec4
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402624
jne 0x47cb86
mov edx, 0x47ded0
mov eax, dword [esi + 0x2c0]
call fcn.006575b4
jmp 0x47cb94
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x2c0]
call fcn.00657658
mov edx, 0x47df68
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov cl, 1
mov edx, 0x47df7c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov byte [esi + 0x2c8], al
mov ecx, 0x80000000
mov edx, 0x47df8c
mov eax, ebx
call fcn.00621104
mov dword [esi + 0x2cc], eax
lea ecx, [ebp - 0x54]
mov edx, 0x47df9c
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x2d0]
call fcn.004038bc
mov edx, 0x47dfac
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47cc29
mov al, byte [0x47dfb4]
mov byte [esi + 0x2d4], al
jmp 0x47cc32
mov al, byte [ebp - 0x30]
mov byte [esi + 0x2d4], al
lea edx, [ebp - 0x50]
mov eax, 0x47dfb8
call fcn.0065ca3c
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov al, 4
call fcn.0062ad70
mov edx, dword [ebp - 0x54]
lea eax, [esi + 0x2d8]
pop ecx
call fcn.00403b24
lea ecx, [ebp - 0x54]
mov edx, 0x47dfd0
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.006302a0
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x2dc]
call fcn.004038bc
lea ecx, [ebp - 0x50]
mov edx, 0x47dfe4
mov eax, ebx
call fcn.00621274
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x2e0]
call fcn.004038bc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0x47e000
call fcn.0065ca3c
mov ecx, dword [ebp - 0x54]
mov edx, 0x47e010
mov eax, ebx
call fcn.006211c8
mov edx, dword [ebp - 0x50]
lea eax, [esi + 0x2e4]
call fcn.004038bc
mov edx, 0x47e034
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
push 4
push 0
xor ecx, ecx
mov edx, 0x47e048
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [esi + 0x2e8]
mov byte [edx + 8], al
xor ecx, ecx
mov edx, 0x47e06c
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 8]
mov edx, dword [esi + 0x2e8]
mov byte [edx + 9], al
mov edx, 0x47de78
mov eax, ebx
call fcn.00621118
dec eax
cmp eax, 0
jl 0x47cdc8
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x58]
mov eax, 0x47e074
mov edx, dword [ebp - 0x30]
call fcn.0065da0c
mov edx, dword [ebp - 0x58]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
or ecx, 0xffffffff
mov edx, 0x47e088
mov eax, ebx
call fcn.00621104
push eax
or ecx, 0xffffffff
mov edx, 0x47e09c
mov eax, ebx
call fcn.00621104
push eax
or ecx, 0xffffffff
mov edx, 0x47e0b0
mov eax, ebx
call fcn.00621104
push eax
lea ecx, [ebp - 0x54]
mov edx, 0x47e0c4
mov eax, ebx
call fcn.00621274
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00623444
mov eax, dword [ebp - 0x50]
push eax
mov edx, 0x47e0d8
mov eax, ebx
call fcn.00621118
mov ecx, eax
mov dl, 1
mov eax, dword [0x479510]
call fcn.004799f0
mov byte [eax + 0x18], 1
mov edx, dword [esi + 0x2e8]
mov edx, dword [edx + 4]
xchg edx, eax
call fcn.00656c78
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffff
jne 0x47cd26
mov edx, 0x47e0e8
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, 0x80000000
mov edx, 0x47cf38
mov eax, ebx
call fcn.00621104
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x80000000
jne 0x47cdfe
mov al, byte [0x47e0f8]
mov byte [esi + 0x2fc], al
jmp 0x47ce07
mov al, byte [ebp - 0x30]
mov byte [esi + 0x2fc], al
push 0x1f4
push 0xf
mov ecx, 1
mov edx, 0x47e104
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x300], eax
push 0x1f4
push 0x19
mov ecx, 2
mov edx, 0x47e118
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [esi + 0x304], eax
cmp dword [0x6749a8], 0x2656743
jg 0x47ce69
lea ecx, [esi + 0x30c]
mov edx, 0x47e12c
mov eax, ebx
call fcn.0062137c
mov dword [esi + 0x308], eax
jmp 0x47ce81
lea ecx, [esi + 0x30c]
mov edx, 0x47e154
mov eax, ebx
call fcn.0062137c
mov dword [esi + 0x308], eax
mov eax, dword [0x6723a0]
mov al, byte [eax]
mov byte [0x6749c4], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47cecc
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.00403298
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0xc]
call fcn.00403880
lea eax, [ebp - 8]
call fcn.00403274
ret