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

Disassembly:
push 0xffffffffffffffff
push 0x4f227c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3e4
mov eax, dword [0x50a0e0]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
push 0x50b4d8
xor ebx, ebx
push ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x404], ebx
call fcn.004083f0
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov byte [esp + 0x3fc], 1
je 0x47d803
cmp dword [ecx - 0xc], ebx
jge 0x47d7d1
mov edx, dword [0x50a0e4]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x47d7d6
cmp dword [eax - 0xc], ebx
jge 0x47d7e6
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00402200
jmp 0x47d7ff
lea ecx, [esp + 0x10]
call fcn.004020f0
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call dword [0x4f9310]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov esi, dword [0x50a0e4]
mov byte [esp + 0x3fc], 0
lea edx, [eax - 0xc]
cmp edx, esi
mov esi, dword [0x4f9320]
je 0x47d840
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x47d83c
mov eax, dword [esp + 0x48]
add eax, 0xfffffff4
push eax
call fcn.004dcaa6
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
cmp eax, 5
jge 0x47d87d
mov eax, dword [0x50a0e4]
lea edx, [ecx - 0xc]
cmp edx, eax
je 0x47dcdc
add ecx, 0xfffffff4
push ecx
call esi
test eax, eax
jg 0x47dcdc
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.004dcaa6
add esp, 4
xor eax, eax
jmp 0x47ea44
mov esi, dword [str..qmv_.m4v_.f4v_.tim_.swf_.csf_.scm_.ts_.tp_.mkv_.dat_.vob_.qt_.ram_.wav_.wmv_.asf_.rm_.rmvb_.mov_.avi_.mpg_.mpeg_.mpe_.3gp_.mp2_.mp4_.flv_._mv_.wm_.rp_.rpm_.rt_.rsc_.3gp2_.3gpp_.acc_.aif_.aifc_.aiff_.asx_.bik_.flc_.roq_.d2v_.dsa_.dss_.dsv_.m1v_.m2p_.m2v_.m4b_.mkv_.mod_.ogm_.pmp_.pm2_.pss_.m4p_.mv_.m2ts_.evo_.3g2_.wmp_.wm_.ivf_.rmm_.mjp_.pva_.rat_.dvd_.smk_.tpr_.vg2_.vid_.vp6_.vp7_.amv_.fli_.pmp2_.mts_.drc]
mov ecx, dword [0x50a0e0]
mov ebp, dword [0x4f9318]
cmp esi, ebx
mov dword [esp + 0x40], ecx
je 0x47d8dc
mov edx, esi
shr edx, 0x10
jne 0x47d8b0
and esi, 0xffff
lea ecx, [esp + 0x40]
push esi
call fcn.00407b70
jmp 0x47d8dc
push esi
call ebp
mov edi, eax
cmp edi, ebx
je 0x47d8dc
push edi
lea ecx, [esp + 0x44]
call fcn.00402090
test eax, eax
je 0x47d8dc
lea ecx, [edi + edi]
mov edi, dword [esp + 0x40]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [str..smv_.spx_.au_.flac_.ra_.amr_.m4a_.mpga_.mp5_.dsm_.mpa_.mac_.dts_.mpga_.wma_.mp3_.midi_.ac3_.aac_.ogg_.mid_.ape_.cda_.rmi_.tta_.tta]
mov ecx, dword [0x50a0e0]
cmp esi, ebx
mov byte [esp + 0x3fc], 2
mov dword [esp + 0x34], ecx
je 0x47d93d
mov edx, esi
shr edx, 0x10
jne 0x47d911
and esi, 0xffff
lea ecx, [esp + 0x34]
push esi
call fcn.00407b70
jmp 0x47d93d
push esi
call ebp
mov edi, eax
cmp edi, ebx
je 0x47d93d
push edi
lea ecx, [esp + 0x38]
call fcn.00402090
test eax, eax
je 0x47d93d
lea ecx, [edi + edi]
mov edi, dword [esp + 0x34]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [str..bmp_.gif_.jpg_.tif_.jpeg_.jpe_.pcd_.bnm_.qti.qtf_.qtif_.tif_.tiff_.tiff]
mov ecx, dword [0x50a0e0]
cmp esi, ebx
mov byte [esp + 0x3fc], 3
mov dword [esp + 0x30], ecx
je 0x47d99e
mov edx, esi
shr edx, 0x10
jne 0x47d972
and esi, 0xffff
lea ecx, [esp + 0x30]
push esi
call fcn.00407b70
jmp 0x47d99e
push esi
call ebp
mov edi, eax
cmp edi, ebx
je 0x47d99e
push edi
lea ecx, [esp + 0x34]
call fcn.00402090
test eax, eax
je 0x47d99e
lea ecx, [edi + edi]
mov edi, dword [esp + 0x30]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
call fcn.004272c0
lea ecx, [esp + 0x7c]
call fcn.004272c0
lea ecx, [esp + 0x24]
xor esi, esi
call fcn.004272c0
push str.files
lea ecx, [esp + 0x84]
mov word [esp + 0x84], bx
call fcn.004067a0
mov ebp, dword [esp + 0x404]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x80]
push ecx
lea edi, [ebp + 4]
push edx
push str.selectNodes
mov ecx, edi
mov byte [esp + 0x408], 8
call fcn.00407e00
mov dword [ebp], eax
mov ebp, dword [0x4f936c]
lea eax, [esp + 0x80]
mov byte [esp + 0x3fc], 7
push eax
call ebp
mov ecx, dword [esp + 0x404]
cmp dword [ecx], ebx
jl 0x47da3c
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x47da3c
push eax
lea ecx, [esp + 0x5c]
call fcn.00407de0
mov esi, 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x3fc], 6
call fcn.004282a0
cmp esi, ebx
jne 0x47da5a
mov dword [esp + 0x90], ebx
jmp 0x47daa5
xor esi, esi
mov word [esp + 0x60], bx
lea edx, [esp + 0x60]
lea ecx, [esp + 0x58]
push edx
push str.length
mov byte [esp + 0x404], 9
call fcn.00469320
cmp eax, ebx
mov dword [esp + 0x54], eax
jl 0x47da90
cmp word [esp + 0x60], 3
jne 0x47da90
mov esi, dword [esp + 0x68]
lea eax, [esp + 0x60]
push eax
call ebp
xor ecx, ecx
cmp esi, ebx
setg cl
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x24]
xor esi, esi
call fcn.004272c0
push str.file
lea ecx, [esp + 0x84]
mov word [esp + 0x84], bx
call fcn.004067a0
lea edx, [esp + 0x24]
lea eax, [esp + 0x80]
push edx
push eax
push str.selectNodes
mov ecx, edi
mov byte [esp + 0x408], 0xb
call fcn.00407e00
mov edi, dword [esp + 0x404]
lea ecx, [esp + 0x80]
push ecx
mov byte [esp + 0x400], 0xa
mov dword [edi], eax
call ebp
cmp dword [edi], ebx
jl 0x47db23
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x47db23
push eax
lea ecx, [esp + 0x80]
call fcn.00407de0
mov esi, 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x3fc], 6
call fcn.004282a0
cmp esi, ebx
jne 0x47db41
mov dword [esp + 0xa0], ebx
jmp 0x47db94
xor esi, esi
mov word [esp + 0x60], bx
lea edx, [esp + 0x60]
lea ecx, [esp + 0x7c]
push edx
push str.length
mov byte [esp + 0x404], 0xc
call fcn.00469320
cmp eax, ebx
mov dword [esp + 0x78], eax
jl 0x47db77
cmp word [esp + 0x60], 3
jne 0x47db77
mov esi, dword [esp + 0x68]
lea eax, [esp + 0x60]
mov byte [esp + 0x3fc], 6
push eax
call ebp
xor ecx, ecx
cmp esi, ebx
setg cl
mov dword [esp + 0xa0], ecx
lea edx, [esp + 0x10]
push 0x513a48
lea eax, [esp + 0x60]
push edx
push eax
call fcn.00402910
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x1a4]
push ecx
push edx
mov byte [esp + 0x404], 0xd
call dword [0x4f92e0]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0xb0], esi
jne 0x47dce3
mov eax, dword [esp + 0x5c]
mov edx, dword [0x50a0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47dc08
mov esi, dword [0x4f9320]
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x47dc0e
mov edx, dword [esp + 0x5c]
lea eax, [edx - 0xc]
push eax
call fcn.004dcaa6
add esp, 4
jmp 0x47dc0e
mov esi, dword [0x4f9320]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x3fc], 5
call fcn.004282a0
lea ecx, [esp + 0x58]
mov byte [esp + 0x3fc], 4
call fcn.004282a0
mov eax, dword [esp + 0x30]
mov edx, dword [0x50a0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47dc5b
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x47dc5b
mov edx, dword [esp + 0x30]
add edx, 0xfffffff4
push edx
call fcn.004dcaa6
add esp, 4
mov eax, dword [esp + 0x34]
mov edx, dword [0x50a0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47dc86
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x47dc86
mov edx, dword [esp + 0x34]
add edx, 0xfffffff4
push edx
call fcn.004dcaa6
add esp, 4
mov eax, dword [esp + 0x40]
mov edx, dword [0x50a0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47dcb1
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x47dcb1
mov edx, dword [esp + 0x40]
add edx, 0xfffffff4
push edx
call fcn.004dcaa6
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x50a0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47dcdc
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x47dcdc
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.004dcaa6
add esp, 4
xor eax, eax
jmp 0x47ea44
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x24], ebx
jne 0x47e9e9
mov ecx, dword [0x50a0e0]
lea edx, [esp + 0x1d0]
test edx, edx
mov dword [esp + 0x14], ecx
je 0x47dd67
lea eax, [esp + 0x1d0]
shr eax, 0x10
jne 0x47dd29
xor eax, eax
lea ecx, [esp + 0x1d0]
mov ax, cx
lea ecx, [esp + 0x14]
push eax
call fcn.00407b70
jmp 0x47dd67
lea edx, [esp + 0x1d0]
push edx
call dword [0x4f9318]
mov esi, eax
cmp esi, ebx
je 0x47dd67
push esi
lea ecx, [esp + 0x18]
call fcn.00402090
test eax, eax
je 0x47dd67
mov edi, dword [esp + 0x14]
lea ecx, [esi + esi]
mov eax, ecx
lea esi, [esp + 0x1d0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
push 0x50d2a8
push ecx
mov byte [esp + 0x404], 0xe
call fcn.004dd2dd
add esp, 8
test eax, eax
je 0x47e98b
mov edx, dword [esp + 0x14]
push 0x50d2a0
push edx
call fcn.004dd2dd
add esp, 8
test eax, eax
je 0x47e98b
mov al, byte [esp + 0x1a4]
test al, 6
jne 0x47e962
test al, 0x10
je 0x47e317
lea ecx, [esp + 0x3c]
call fcn.004272c0
cmp dword [esp + 0x90], ebx
je 0x47df93
mov eax, dword [esp + 0x28]
xor edi, edi
cmp dword [eax + 0x24], ebx
jne 0x47df93
xor esi, esi
mov word [esp + 0x80], bx
lea ecx, [esp + 0x80]
mov byte [esp + 0x3fc], 0x10
push ecx
push str.length
lea ecx, [esp + 0x60]
call fcn.00469320
cmp eax, ebx
mov dword [esp + 0x54], eax
jl 0x47de21
cmp word [esp + 0x80], 3
jne 0x47de21
mov esi, dword [esp + 0x88]
lea edx, [esp + 0x80]
push edx
call ebp
cmp edi, esi
jge 0x47df93
xor esi, esi
cmp edi, ebx
jl 0x47df85
lea ecx, [esp + 0x74]
call fcn.004272c0
mov word [esp + 0x134], 3
mov dword [esp + 0x13c], edi
lea eax, [esp + 0x74]
lea ecx, [esp + 0x134]
push eax
push ecx
push str.item
lea ecx, [esp + 0x64]
mov byte [esp + 0x408], 0x12
call fcn.00407e00
lea edx, [esp + 0x134]
mov dword [esp + 0x54], eax
push edx
mov byte [esp + 0x400], 0x11
call ebp
cmp dword [esp + 0x54], ebx
jl 0x47dead
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x47dead
push eax
lea ecx, [esp + 0x40]
call fcn.00407de0
mov esi, 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x3fc], 0xf
call fcn.004282a0
cmp esi, ebx
je 0x47df85
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x48]
push ecx
push edx
call fcn.0040d090
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x44]
push eax
push 1
mov byte [esp + 0x404], 0x13
mov dword [esp + 0x54], 0x5c
call fcn.00406dd0
lea ecx, [esp + 0x50]
push 0x50b4d8
push ecx
lea ecx, [esp + 0x40]
call fcn.004083f0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
push edx
push eax
call fcn.004dd2dd
mov edx, dword [0x50a0e4]
add esp, 8
test eax, eax
mov eax, dword [esp + 0x50]
lea ecx, [eax - 0xc]
je 0x47e2ba
cmp ecx, edx
je 0x47df56
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47df56
mov edx, dword [esp + 0x50]
lea eax, [edx - 0xc]
push eax
call fcn.004dcaa6
add esp, 4
mov eax, dword [esp + 0x44]
mov edx, dword [0x50a0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47df85
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47df85
mov edx, dword [esp + 0x44]
lea eax, [edx - 0xc]
push eax
call fcn.004dcaa6
add esp, 4
mov eax, dword [esp + 0x28]
inc edi
cmp dword [eax + 0x24], ebx
je 0x47dddf
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x70]
mov esi, dword [eax + 0x9c]
call fcn.004272c0
push str.files
lea ecx, [esp + 0x100]
mov word [esp + 0x100], bx
call fcn.004067a0
lea ecx, [esp + 0x70]
lea edx, [esp + 0xfc]
push ecx
push edx
push str.createElement
lea ecx, [esi + 4]
mov byte [esp + 0x408], 0x15
call fcn.00407e00
mov dword [esi + 8], eax
lea eax, [esp + 0xfc]
push eax
mov byte [esp + 0x400], 0x14
call ebp
cmp dword [esi + 8], ebx
jl 0x47e00d
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x47e00d
push eax
lea ecx, [esp + 0x40]
call fcn.00407de0
lea ecx, [esp + 0x70]
mov byte [esp + 0x3fc], 0xf
call fcn.004282a0
mov ecx, dword [0x50a0e0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x2c]
push str._s_s_
push ecx
mov byte [esp + 0x40c], 0x16
call fcn.004073f0
mov edx, dword [esp + 0x34]
add esp, 0x10
lea ecx, [esp + 0xdc]
mov word [esp + 0xdc], bx
push edx
call fcn.004067a0
push 0x50b4d8
lea ecx, [esp + 0x128]
mov word [esp + 0x128], bx
call fcn.004067a0
lea eax, [esp + 0xdc]
push ebx
lea ecx, [esp + 0x128]
push eax
push ecx
push str.setAttribute
lea ecx, [esp + 0x4c]
mov byte [esp + 0x40c], 0x18
call fcn.00406870
lea edx, [esp + 0x124]
mov dword [esp + 0x38], eax
push edx
call ebp
lea eax, [esp + 0xdc]
push eax
call ebp
mov word [esp + 0x164], 3
mov dword [esp + 0x16c], ebx
push str.type
lea ecx, [esp + 0x148]
mov word [esp + 0x148], bx
call fcn.004067a0
lea ecx, [esp + 0x164]
push ebx
lea edx, [esp + 0x148]
push ecx
push edx
push str.setAttribute
lea ecx, [esp + 0x4c]
mov byte [esp + 0x40c], 0x1a
call fcn.00406870
mov dword [esp + 0x38], eax
lea eax, [esp + 0x144]
push eax
call ebp
lea ecx, [esp + 0x164]
push ecx
call ebp
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xec]
push edx
mov word [esp + 0xf0], bx
call fcn.004067a0
push str.title
lea ecx, [esp + 0x158]
mov word [esp + 0x158], bx
call fcn.004067a0
mov byte [esp + 0x3fc], 0x1c
push ebx
lea eax, [esp + 0xf0]
lea ecx, [esp + 0x158]
push eax
push ecx
push str.setAttribute
lea ecx, [esp + 0x4c]
call fcn.00406870
lea edx, [esp + 0x154]
mov dword [esp + 0x38], eax
push edx
call ebp
lea eax, [esp + 0xec]
push eax
call ebp
mov word [esp + 0x60], bx
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x3fc], 0x1d
push ecx
lea ecx, [esp + 0x178]
call fcn.0046cc00
mov esi, dword [esp + 0x404]
lea edx, [esp + 0x60]
push edx
push eax
push str.appendChild
lea ecx, [esi + 4]
mov byte [esp + 0x408], 0x1e
call fcn.004067f0
mov dword [esi], eax
lea eax, [esp + 0x174]
push eax
mov byte [esp + 0x400], 0x1d
call ebp
cmp dword [esi], ebx
jl 0x47e219
cmp word [esp + 0x60], 9
jne 0x47e219
cmp dword [esp + 0x68], ebx
je 0x47e219
mov eax, dword [esp + 0x3c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x68]
push eax
mov edx, dword [eax]
call dword [edx + 4]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x60]
push ecx
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [0x50a0e4]
mov byte [esp + 0x3fc], 0xf
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x47e257
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47e257
mov eax, dword [esp + 0x24]
add eax, 0xfffffff4
push eax
call fcn.004dcaa6
add esp, 4
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.0047d760
test eax, eax
jne 0x47e2a4
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x184]
push edx
call fcn.0046cc00
mov esi, dword [esp + 0x404]
push ebx
push eax
push str.removeChild
lea ecx, [esi + 4]
mov byte [esp + 0x408], 0x1f
call fcn.004067f0
mov dword [esi], eax
lea eax, [esp + 0x184]
push eax
call ebp
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3fc], 0xe
call fcn.004282a0
jmp 0x47e928
cmp ecx, edx
je 0x47e2dc
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47e2dc
mov edx, dword [esp + 0x50]
lea eax, [edx - 0xc]
push eax
call fcn.004dcaa6
add esp, 4
mov eax, dword [esp + 0x44]
mov edx, dword [0x50a0e4]
mov byte [esp + 0x3fc], 0xf
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47e257
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47e257
mov edx, dword [esp + 0x44]
lea eax, [edx - 0xc]
jmp 0x47e24e
mov eax, dword [esp + 0x1c0]
mov ebp, dword [esp + 0x1c4]
xor ebx, ebx
xor ecx, ecx
push 1
push ebx
push ecx
push eax
call fcn.004dde60
mov esi, eax
lea ecx, [esp + 0x1d0]
mov edi, edx
add esi, ebp
push ecx
lea ecx, [esp + 0x1c]
adc edi, ebx
call fcn.00406b10
lea ecx, [esp + 0x18]
mov byte [esp + 0x3fc], 0x20
call fcn.00408910
mov edx, dword [esp + 0x18]
push edx
call dword [0x4f94ec]
mov eax, dword [esp + 0x18]
push 0x2e
push eax
call fcn.004dd29d
add esp, 8
test eax, eax
je 0x47e93e
sub eax, dword [esp + 0x18]
sar eax, 1
mov ebp, eax
cmp ebp, 0xffffffff
je 0x47e93e
push ebx
push str.._mv
lea ecx, [esp + 0x20]
call fcn.004147e0
test eax, eax
jg 0x47e93e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xbc]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x18]
sub eax, ebp
dec eax
push eax
push edx
call fcn.00407130
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x400], 0x21
call fcn.004022b0
lea ecx, [esp + 0xbc]
call fcn.004021d0
mov eax, dword [esp + 0x18]
push ebx
push eax
lea ecx, [esp + 0x48]
call fcn.004147e0
mov ecx, dword [esp + 0x18]
push ebx
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0xb0], eax
call fcn.004147e0
mov edx, dword [esp + 0x18]
push ebx
push edx
lea ecx, [esp + 0x38]
mov dword [esp + 0xbc], eax
call fcn.004147e0
lea ecx, [esp + 0x1c]
mov dword [esp + 0xac], eax
mov dword [esp + 0x4c], ebx
call fcn.004673c0
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x3fc], 0x22
test eax, eax
je 0x47e57e
mov eax, dword [esp + 0x28]
mov dword [esp + 0x9c], ebx
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x47e57e
lea ecx, [esp + 0x78]
call fcn.004632c0
cmp ebx, eax
jge 0x47e572
lea ecx, [esp + 0x20]
push ecx
push ebx
lea ecx, [esp + 0x80]
call fcn.00463380
test eax, eax
je 0x47e55b
lea edx, [esp + 0x98]
push 0x50b4d8
push edx
lea ecx, [esp + 0x24]
call fcn.004083f0
lea eax, [esp + 0x1d0]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0xa8]
push ecx
push edx
mov byte [esp + 0x408], 0x23
call fcn.00402910
lea eax, [esp + 0x94]
push str.size
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x404], 0x24
call fcn.004083f0
mov ecx, dword [esp + 0x94]
push ecx
call fcn.004dd274
mov ebx, edx
mov edx, dword [esp + 0xa8]
mov ebp, eax
mov eax, dword [esp + 0x9c]
push edx
push eax
call fcn.004dd2dd
add esp, 0xc
test eax, eax
jne 0x47e528
push eax
push 0x400
push edi
push esi
call fcn.004ddf60
cmp eax, ebp
jne 0x47e528
cmp edx, ebx
jne 0x47e528
mov dword [esp + 0x4c], 1
lea ecx, [esp + 0x94]
call fcn.004021d0
lea ecx, [esp + 0xa4]
call fcn.004021d0
lea ecx, [esp + 0x98]
mov byte [esp + 0x3fc], 0x22
call fcn.004021d0
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x28]
inc ebx
mov dword [esp + 0x9c], ebx
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x47e45d
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x47e906
lea ecx, [esp + 0x11c]
call fcn.004673c0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x3fc], 0x25
call fcn.0047ea60
mov edx, dword [0x50a0e0]
mov dword [esp + 0x2c], edx
push 0
push 0x400
push edi
push esi
mov byte [esp + 0x40c], 0x27
call fcn.004ddf60
mov ecx, dword [esp + 0x28]
mov ebp, eax
lea eax, [esp + 0x1c]
mov ecx, dword [ecx + 0x9c]
push eax
push str.file
call fcn.00469c90
lea edx, [esp + 0x1d0]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0xbc]
push eax
push ecx
call fcn.00402910
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push eax
push 0x50b4d8
mov byte [esp + 0x404], 0x28
call fcn.00408090
lea ecx, [esp + 0xb8]
mov byte [esp + 0x3fc], 0x27
call fcn.004021d0
push 0x24
call fcn.004dcb8f
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
mov byte [esp + 0x3fc], 0x29
je 0x47e645
mov ecx, eax
call fcn.004c2a60
mov esi, eax
jmp 0x47e647
xor esi, esi
push ecx
lea eax, [esp + 0x1d4]
mov edx, esp
mov dword [esp + 0x50], esp
lea ecx, [esp + 0x14]
push eax
push ecx
push edx
mov byte [esp + 0x40c], 0x27
call fcn.00402910
mov ecx, esi
call fcn.004c2b90
test eax, eax
je 0x47e718
lea edx, [esp + 0xc0]
mov ecx, esi
push edx
call fcn.004c3460
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x1c]
push eax
push str.type
call fcn.00408260
mov ecx, dword [esp + 0xc0]
push ecx
push str.title
lea ecx, [esp + 0x24]
call fcn.00408090
mov edx, dword [esp + 0xc4]
lea ecx, [esp + 0x1c]
push edx
push str.author
call fcn.00408090
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1c]
push eax
push str.special
call fcn.00408090
mov ecx, dword [esp + 0xd0]
push ecx
push str.bits
lea ecx, [esp + 0x24]
call fcn.00408260
mov edx, dword [esp + 0xcc]
lea ecx, [esp + 0x1c]
push edx
push 0x515fac
call fcn.00408260
mov eax, dword [esp + 0xd8]
push eax
jmp 0x47e7b8
mov ecx, dword [esp + 0x2c]
mov edi, 4
push ecx
push str.title
lea ecx, [esp + 0x24]
call fcn.00408090
mov eax, dword [esp + 0xa8]
or ebx, 0xffffffff
cmp eax, ebx
jle 0x47e745
mov edi, 1
jmp 0x47e763
cmp dword [esp + 0xb4], ebx
jle 0x47e755
mov edi, 2
jmp 0x47e763
cmp dword [esp + 0xac], ebx
jle 0x47e763
mov edi, 3
push edi
push str.type
lea ecx, [esp + 0x24]
call fcn.00408260
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push edx
push str.author
call fcn.00408090
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push eax
push str.special
call fcn.00408090
push ebx
push str.bits
lea ecx, [esp + 0x24]
call fcn.00408260
push ebx
push 0x515fac
lea ecx, [esp + 0x24]
call fcn.00408260
push 0x17
push str.format
lea ecx, [esp + 0x24]
call fcn.00408260
push ebp
push str.size
lea ecx, [esp + 0x24]
call fcn.00409a60
lea ecx, [esp + 0x194]
lea edx, [esp + 0x1b8]
push ecx
push edx
call dword [0x4f9118]
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x194]
push eax
push ecx
push 0
call dword [0x4f9110]
mov edx, dword [0x50a0e0]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x112]
mov ecx, dword [esp + 0x10e]
mov edx, dword [esp + 0x10c]
and eax, 0xffff
and ecx, 0xffff
push eax
and edx, 0xffff
push ecx
push edx
lea eax, [esp + 0x54]
push str._d__02d__02d
push eax
mov byte [esp + 0x410], 0x2a
call fcn.004073f0
mov ecx, dword [esp + 0x5c]
add esp, 0x14
push ecx
push str.datetime
lea ecx, [esp + 0x24]
call fcn.00408090
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push edx
push str.usertype
call fcn.00408090
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push eax
push 0x5142f4
call fcn.00408090
mov ecx, dword [esp + 0x2c]
push ecx
push str.language
lea ecx, [esp + 0x24]
call fcn.00408090
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push edx
push str.remark
call fcn.00408090
mov ecx, dword [esp + 0x404]
lea eax, [esp + 0x1c]
push eax
call fcn.00409940
test esi, esi
je 0x47e8cc
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x48]
call fcn.004021d0
lea ecx, [esp + 0x2c]
call fcn.004021d0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x3fc], 0x25
call fcn.004636f0
lea ecx, [esp + 0x120]
mov byte [esp + 0x3fc], 0x22
call fcn.004282a0
lea ecx, [esp + 0x20]
mov byte [esp + 0x3fc], 0x20
call fcn.004282a0
lea ecx, [esp + 0x18]
call fcn.004021d0
mov ebp, dword [0x4f936c]
xor ebx, ebx
lea ecx, [esp + 0x14]
mov byte [esp + 0x3fc], 0xd
call fcn.004021d0
jmp 0x47e9c2
lea ecx, [esp + 0x18]
call fcn.004021d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x3fc], 0xd
call fcn.004021d0
mov ebp, dword [0x4f936c]
xor ebx, ebx
jmp 0x47e9c2
mov eax, dword [esp + 0x14]
mov edx, dword [0x50a0e4]
mov byte [esp + 0x3fc], 0xd
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47e9c2
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47e9c2
jmp 0x47e9b2
mov eax, dword [esp + 0x14]
mov edx, dword [0x50a0e4]
mov byte [esp + 0x3fc], 0xd
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x47e9c2
add eax, 0xfffffff4
push eax
call dword [0x4f9320]
test eax, eax
jg 0x47e9c2
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.004dcaa6
add esp, 4
mov esi, dword [esp + 0xb0]
lea eax, [esp + 0x1a4]
push eax
push esi
call dword [0x4f92e8]
test eax, eax
je 0x47e9e9
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x24], ebx
je 0x47dcf0
push esi
call dword [0x4f92ec]
lea ecx, [esp + 0x5c]
call fcn.004021d0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x3fc], 5
call fcn.004282a0
lea ecx, [esp + 0x58]
mov byte [esp + 0x3fc], 4
call fcn.004282a0
lea ecx, [esp + 0x30]
call fcn.004021d0
lea ecx, [esp + 0x34]
call fcn.004021d0
lea ecx, [esp + 0x40]
call fcn.004021d0
lea ecx, [esp + 0x10]
call fcn.004021d0
mov eax, 1
mov ecx, dword [esp + 0x3f4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x3f0
ret 4