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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov ebx, edx
mov dword [esp + 0x28], ecx
push esi
xorps xmm0, xmm0
mov dword [esp + 0x28], ebx
push edi
mov edx, dword [ebx]
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov eax, dword [edx]
mov dword [esp + 0x14], eax
mov dword [esp + 0x4c], 0
mov eax, dword [eax]
mov dword [esp + 0x28], eax
cmp byte [eax + 0x49], 0
jne 0x482b70
mov eax, dword [ebp + 8]
mov esi, dword [ebx + 0x14]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [edx + 0x1e8]
add esi, ecx
mov dword [esp + 0x1c], ecx
mov ecx, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], eax
mov edi, dword [esi]
mov dword [esp + 0x6c], edi
mov edx, dword [edi + 0xc]
call fcn.00482d10
mov dword [esp + 0x54], eax
mov al, byte [edi]
mov byte [esp + 0x13], al
movzx eax, al
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], eax
cmp eax, 0x31
jne 0x481ca4
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0043fab0
test eax, eax
jne 0x482b70
test dword [edi + 4], 0x800
mov eax, dword [edi + 0x14]
mov dword [esp + 0x68], eax
je 0x481c40
mov ecx, dword [esp + 0x24]
mov edx, eax
call fcn.004817f0
jmp 0x481cc8
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
test eax, eax
je 0x481cb2
cmp dword [eax], 0
jle 0x481cb2
mov esi, dword [esp + 0x7c]
add eax, 4
mov ebx, dword [esp + 0x78]
xor edi, edi
mov dword [esp + 0x60], eax
mov edx, dword [eax]
mov ecx, dword [esp + 0x24]
call fcn.00482d10
mov ecx, dword [esp + 0x68]
or ebx, eax
mov eax, dword [esp + 0x60]
inc edi
add eax, 0x18
or esi, edx
mov dword [esp + 0x60], eax
cmp edi, dword [ecx]
jl 0x481c63
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
jmp 0x481cc8
cmp eax, 0x32
jne 0x481cbc
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
jmp 0x481cc8
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x24]
call fcn.00482d10
mov ecx, esi
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x24], edx
mov edx, edi
mov ecx, eax
mov dword [eax], 0
call fcn.00482d10
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
cmp dword [ecx], 0
je 0x481cfd
mov edx, 0x1000
or word [esi + 0xa], dx
test byte [edi + 4], 1
je 0x481da7
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x481d27
add ecx, 8
movsx ebx, word [edi + 0x24]
cmp dword [ecx], ebx
mov ebx, dword [esp + 0x2c]
je 0x481d90
inc eax
add ecx, 4
cmp eax, edx
jl 0x481d13
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x38]
mov esi, edx
or dword [esp + 0x3c], edx
or eax, ecx
mov dword [esp + 0x44], ecx
add dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x38], eax
adc esi, 0xffffffff
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
shrd dword [esp + 0x20], eax, 1
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x18]
shr eax, 1
cmp eax, edx
jb 0x481db9
ja 0x481d78
cmp dword [esp + 0x20], ecx
jb 0x481db9
push 0x53c9c4
push dword [esp + 0x18]
call fcn.004081e0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x481d38
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x44], ecx
jmp 0x481dbd
mov eax, dword [esp + 0x38]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x2c], eax
xor eax, eax
mov word [esi + 0xc], ax
mov al, byte [esp + 0x13]
mov dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
cmp al, 0x31
je 0x481f8f
cmp al, 0x35
jb 0x481df3
cmp al, 0x39
jbe 0x481f8f
cmp al, 0x32
je 0x481f8f
cmp al, 0x2d
je 0x481f8f
mov al, byte [edi]
cmp al, 0x30
jne 0x481f6a
cmp byte [ebx + 8], 0x2c
jne 0x482b5b
mov eax, dword [edi + 0x14]
add eax, 4
mov dword [esp + 0x3c], 0
mov dword [esp + 0x5c], eax
nop dword [eax]
mov edx, dword [eax]
test edx, edx
je 0x481e4a
mov ecx, dword [esp + 0x28]
push 0
push 0
call fcn.0043cd70
add esp, 8
mov esi, eax
jmp 0x481e4c
xor esi, esi
mov edx, dword [edi + 0xc]
test edx, edx
je 0x481e65
mov ecx, dword [esp + 0x28]
push 0
push 0
call fcn.0043cd70
add esp, 8
jmp 0x481e67
xor eax, eax
mov ecx, dword [esp + 0x14]
push esi
push eax
mov eax, dword [esp + 0x44]
movzx edx, byte [eax + 0x53dd44]
call fcn.0043c550
add esp, 8
test eax, eax
je 0x481e95
mov ecx, dword [edi + 4]
and ecx, 1
or dword [eax + 4], ecx
mov cx, word [edi + 0x24]
mov word [eax + 0x24], cx
push 3
mov edx, eax
mov ecx, ebx
call fcn.004809a0
mov ecx, dword [esp + 0x34]
add esp, 4
mov esi, eax
mov edx, ebx
push esi
call fcn.00481b70
mov ecx, dword [ebx + 0x14]
lea edx, [esi + esi*2]
mov eax, dword [esp + 0x20]
add edx, edx
mov esi, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x1c], eax
add esp, 4
mov eax, dword [ebp + 8]
mov dword [ecx + edx*8 + 0x10], eax
mov ecx, dword [ebx + 0x14]
mov ax, word [ecx + esi + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
inc byte [eax + esi + 0xe]
mov eax, dword [esp + 0x5c]
add eax, 0x18
mov dword [esp + 0x5c], eax
cmp ecx, 2
jl 0x481e30
mov esi, dword [esp + 0x18]
cmp byte [ebx + 8], 0x2c
jne 0x482b5b
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x4c]
mov edx, edi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00480b50
add esp, 0xc
test eax, eax
je 0x48268e
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x4823a5
push 0
mov edx, ecx
mov ecx, dword [esp + 0x2c]
push 0
call fcn.0043cd70
mov ecx, dword [esp + 0x48]
add esp, 8
mov dword [esp + 0x3c], eax
jmp 0x4823ad
cmp al, 0x2b
jne 0x481f06
push dword [ebp + 8]
mov ecx, dword [esp + 0x34]
mov edx, ebx
call fcn.00480f10
mov esi, dword [ebx + 0x14]
add esp, 4
add esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
jmp 0x481f06
mov edx, dword [edi + 0xc]
test edx, edx
je 0x481fb6
mov eax, dword [edx + 4]
test eax, 0x1000
je 0x481fb6
test eax, 0x40000
je 0x481faf
mov eax, dword [edx + 0x14]
mov edx, dword [eax + 4]
jmp 0x481fb2
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x481f96
mov esi, dword [edi + 0x10]
test esi, esi
je 0x481fe0
nop dword [eax]
mov eax, dword [esi + 4]
test eax, 0x1000
je 0x481fe0
test eax, 0x40000
je 0x481fd9
mov eax, dword [esi + 0x14]
mov esi, dword [eax + 4]
jmp 0x481fdc
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x481fc0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x58], 0x1fff
and ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and eax, dword [esp + 0x34]
or ecx, eax
je 0x482006
mov dword [esp + 0x58], 0x800
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18]
test eax, eax
jle 0x48201b
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x14]
mov edx, dword [eax + ecx*8 - 0x14]
push dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
push edx
push dword [esp + 0x3c]
lea edx, [esp + 0x84]
push dword [esp + 0x60]
call fcn.00481ae0
mov edx, dword [esp + 0x28]
add esp, 0x10
test eax, eax
je 0x482090
mov eax, dword [esp + 0x78]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x1c], eax
mov al, byte [esp + 0x13]
cmp al, 0x31
jne 0x482060
mov eax, 1
jmp 0x482088
cmp al, 0x32
jne 0x48206b
mov eax, 0x100
jmp 0x482088
cmp al, 0x2d
jne 0x482076
mov eax, 0x80
jmp 0x482088
mov ecx, dword [esp + 0x50]
mov eax, 2
lea ecx, [ecx - 0x35]
shl ax, cl
movzx eax, ax
and eax, dword [esp + 0x58]
mov word [edx + 0xc], ax
cmp byte [esp + 0x13], 0x2d
mov eax, 0x800
jne 0x4820a0
or word [edx + 0xa], ax
test esi, esi
je 0x481f02
push dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x7c]
push esi
mov esi, dword [esp + 0x20]
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.00481ae0
add esp, 0x10
test eax, eax
je 0x481f06
cmp dword [esi + 0x14], 0
mov edx, edi
mov dword [esp + 0x68], 0
jl 0x4822df
mov esi, dword [esp + 0x28]
mov ecx, esi
push 0
push 0
call fcn.0043cd70
add esp, 8
mov dword [esp + 0x20], eax
cmp byte [esi + 0x49], 0
je 0x482117
test eax, eax
je 0x482b70
mov edx, eax
mov ecx, esi
call fcn.0043cb90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 3
mov edx, eax
mov ecx, ebx
call fcn.004809a0
add esp, 4
test eax, eax
je 0x482b70
mov esi, dword [ebx + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 8]
shl edx, 4
add esi, edx
mov dword [esp + 0x5c], esi
mov dword [esi + 0x10], eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0x1c]
mov ax, word [ecx + eax + 8]
mov word [ecx + edx + 8], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x1c]
inc byte [eax + ecx + 0xe]
cmp byte [esp + 0x13], 0x2d
jne 0x48216e
mov eax, 0x800
or word [esi + 0xa], ax
mov esi, dword [ebx + 0x14]
mov eax, dword [esp + 0x14]
add esi, ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], esi
or word [esi + 0xa], 8
mov eax, dword [eax]
test byte [eax + 0x44], 0x80
jne 0x4822a0
mov al, byte [edx]
cmp al, 0x35
je 0x48219e
cmp al, 0x2d
jne 0x4822a0
test byte [edx + 4], 1
jne 0x4822a0
mov ecx, dword [edx + 0xc]
call fcn.0043b770
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x13], al
mov ecx, dword [ecx + 0x10]
call fcn.0043b770
mov cl, al
mov al, byte [esp + 0x13]
cmp al, cl
je 0x4821db
cmp al, 0x43
jl 0x48229c
cmp cl, 0x43
jl 0x48229c
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x64], ecx
test dword [edx + 4], 0x100
jne 0x482214
test ecx, ecx
je 0x482203
test dword [ecx + 4], 0x100
je 0x482203
mov edx, ecx
jmp 0x482214
mov ecx, dword [esp + 0x14]
call fcn.0043b820
test eax, eax
jne 0x482221
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
call fcn.0043b820
test eax, eax
je 0x48228f
mov edx, dword [eax]
mov cl, byte [edx]
movzx eax, cl
movzx eax, byte [eax + 0x53ea00]
sub eax, 0x62
jne 0x482275
mov dword [esp + 0x50], 0x539504
sub dword [esp + 0x50], edx
test cl, cl
je 0x482271
mov al, byte [edx + 1]
inc edx
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + edx]
movzx ecx, byte [eax + 0x53ea00]
movzx eax, byte [esp + 0x13]
movzx eax, byte [eax + 0x53ea00]
sub eax, ecx
mov cl, byte [esp + 0x13]
je 0x482240
jmp 0x482275
test eax, eax
je 0x48228f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push dword [eax + 0x10]
mov edx, dword [eax + 0xc]
call fcn.0043b9a0
add esp, 4
test eax, eax
je 0x48229c
mov eax, 0x800
or word [esi + 0xc], ax
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x50], 0x100
movzx eax, word [ecx + 4]
and ax, word [esp + 0x50]
movzx eax, ax
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0xc]
movzx eax, word [eax + 4]
and ax, word [esp + 0x50]
cmp word [esp + 0x64], ax
jne 0x482307
cmp word [esp + 0x64], 0
je 0x4822e9
and dword [ecx + 4], 0xfffffeff
jmp 0x482307
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], esi
jmp 0x4822a0
mov edx, dword [edx + 0xc]
mov ecx, dword [esp + 0x14]
call fcn.0043b820
mov edx, dword [esp + 0x20]
test eax, eax
je 0x482307
mov eax, dword [edx + 0xc]
or dword [eax + 4], 0x100
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov dword [edx + 0x10], eax
mov al, byte [edx]
mov dword [edx + 0xc], ecx
cmp al, 0x36
jb 0x482321
sub al, 0x36
xor al, 2
add al, 0x36
mov byte [edx], al
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x60]
or dword [esp + 0x34], ebx
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x44]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x2c], eax
movzx ecx, byte [edx]
cmp ecx, 0x31
jne 0x482368
lea eax, [ecx - 0x30]
jmp 0x48238c
cmp ecx, 0x32
jne 0x482374
mov eax, 0x100
jmp 0x48238c
cmp ecx, 0x2d
jne 0x48237e
lea eax, [ecx + 0x53]
jmp 0x48238c
mov eax, 2
add ecx, 0xffffffcb
shl ax, cl
movzx eax, ax
mov ecx, dword [esp + 0x5c]
add eax, dword [esp + 0x68]
and eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x2c]
mov word [ecx + 0xc], ax
jmp 0x481f06
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x4c], 0
je 0x482415
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp byte [eax + 0x49], 0
jne 0x482415
mov eax, 0x400
or word [esi + 0xa], ax
xor esi, esi
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov cl, byte [eax]
test cl, cl
je 0x482415
mov edi, dword [esp + 0x40]
mov ebx, eax
nop
movzx edx, cl
mov al, byte [edx + 0x53e0c8]
and al, 0x20
not al
and al, cl
mov byte [ebx], al
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x53ea00]
mov byte [esi + ecx], al
inc esi
mov ebx, dword [edi + 8]
add ebx, esi
mov cl, byte [ebx]
test cl, cl
jne 0x4823e0
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x49], 0
jne 0x482479
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 8]
test edx, edx
jne 0x48242e
xor ecx, ecx
jmp 0x482442
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482433
sub ecx, esi
and ecx, 0x3fffffff
cmp dword [esp + 0x4c], 0
mov al, byte [ecx + edx - 1]
mov esi, dword [esp + 0x48]
je 0x482469
cmp al, 0x40
mov dword [esp + 0x70], 0
movzx eax, al
cmove esi, dword [esp + 0x70]
mov al, byte [eax + 0x53ea00]
inc al
mov dword [esp + 0x5c], esi
mov byte [ecx + edx - 1], al
mov ecx, dword [esp + 0x28]
jmp 0x482481
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x4c], 0
mov eax, 0x539504
mov esi, 0x53c9f0
cmove esi, eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4824af
push 0
push 0
mov edx, eax
call fcn.0043cd70
add esp, 8
mov dword [esp + 0x4c], eax
jmp 0x4824b7
mov dword [esp + 0x4c], 0
mov ecx, esi
mov dword [esp + 0x78], esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4824c0
sub ecx, edx
and ecx, 0x3fffffff
mov dword [esp + 0x7c], ecx
jbe 0x482505
lea eax, [esp + 0x78]
mov edx, 0x5e
push 0
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call fcn.0043c360
mov ecx, dword [esp + 0x54]
add esp, 8
test eax, eax
je 0x482509
or dword [eax + 4], 0x1100
mov dword [eax + 0xc], ecx
mov ecx, eax
jmp 0x482509
mov ecx, dword [esp + 0x4c]
push dword [esp + 0x40]
mov edx, 0x39
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0043c550
add esp, 8
test eax, eax
je 0x482534
mov ecx, dword [edi + 4]
and ecx, 1
or dword [eax + 4], ecx
mov cx, word [edi + 0x24]
mov word [eax + 0x24], cx
push 0x103
mov edx, eax
mov ecx, ebx
call fcn.004809a0
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, ebx
mov dword [esp + 0x70], eax
push eax
call fcn.00481b70
mov eax, dword [esp + 0x6c]
add esp, 4
test eax, eax
je 0x482578
mov ecx, dword [esp + 0x28]
mov edx, eax
push 0
push 0
call fcn.0043cd70
add esp, 8
mov dword [esp + 0x4c], eax
jmp 0x482580
mov dword [esp + 0x4c], 0
mov dword [esp + 0x78], esi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x482587
sub esi, ecx
and esi, 0x3fffffff
mov dword [esp + 0x7c], esi
jbe 0x4825cc
lea eax, [esp + 0x78]
mov edx, 0x5e
push 0
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call fcn.0043c360
mov ecx, dword [esp + 0x54]
add esp, 8
test eax, eax
je 0x4825d0
or dword [eax + 4], 0x1100
mov dword [eax + 0xc], ecx
mov ecx, eax
jmp 0x4825d0
mov ecx, dword [esp + 0x4c]
push dword [esp + 0x3c]
mov edx, 0x38
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0043c550
add esp, 8
test eax, eax
je 0x4825fb
mov ecx, dword [edi + 4]
and ecx, 1
or dword [eax + 4], ecx
mov cx, word [edi + 0x24]
mov word [eax + 0x24], cx
push 0x103
mov edx, eax
mov ecx, ebx
call fcn.004809a0
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, ebx
mov dword [esp + 0x6c], eax
push eax
call fcn.00481b70
mov esi, dword [esp + 0x20]
add esp, 4
mov eax, dword [ebx + 0x14]
add esi, eax
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x18], esi
je 0x48268e
mov ecx, dword [esp + 0x70]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x1c]
inc byte [eax + ecx + 0xe]
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x14]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x1c]
inc byte [eax + ecx + 0xe]
cmp byte [ebx + 8], 0x2c
jne 0x482b5b
mov dl, byte [edi]
cmp dl, 0x90
jne 0x48278a
mov eax, dword [edi + 0x14]
test eax, eax
je 0x48272f
cmp dword [eax], 2
jne 0x48272f
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x20], eax
cmp byte [eax], 0x91
jne 0x48272f
mov eax, dword [eax + 0x2c]
cmp dword [eax + 0x38], 0
je 0x48272f
xor eax, eax
mov dword [esp + 0x5c], eax
mov esi, dword [eax*8 + 0x53e518]
mov edx, dword [edi + 8]
movzx eax, byte [esi]
mov bl, byte [edx]
movzx ecx, byte [eax + 0x53ea00]
movzx eax, bl
movzx eax, byte [eax + 0x53ea00]
sub eax, ecx
jne 0x482719
sub esi, edx
test bl, bl
je 0x482763
movzx eax, byte [esi + edx + 1]
inc edx
movzx ecx, byte [eax + 0x53ea00]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x53ea00]
sub eax, ecx
je 0x4826f8
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
cmp eax, 4
jl 0x4826d2
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
cmp byte [ebx + 8], 0x2c
jne 0x482b5b
mov al, byte [edi]
cmp al, 0x35
je 0x482747
cmp al, 0x2d
jne 0x482a95
mov ecx, dword [edi + 0xc]
mov al, byte [ecx]
cmp al, 0x96
jne 0x482753
mov al, byte [ecx + 0x26]
cmp al, 0x97
jne 0x4829a4
lea eax, [ecx + 0x14]
jmp 0x4829af
mov eax, dword [esp + 0x5c]
mov ecx, 1
mov esi, dword [edi + 0x14]
mov ebx, dword [esp + 0x2c]
mov al, byte [eax*8 + 0x53e51c]
mov esi, dword [esi + 4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], esi
jmp 0x482820
cmp dl, 0x34
je 0x482799
cmp dl, 0x8f
je 0x482799
cmp dl, 0x33
jne 0x48272f
mov eax, dword [edi + 0xc]
xor ecx, ecx
mov esi, dword [edi + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], esi
cmp byte [eax], 0x91
jne 0x4827c1
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x70], 1
cmp dword [eax + 0x38], ecx
cmovne ecx, dword [esp + 0x70]
test esi, esi
je 0x4827e2
cmp byte [esi], 0x91
jne 0x4827e2
mov eax, dword [esi + 0x2c]
cmp dword [eax + 0x38], 0
je 0x4827e2
mov eax, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], esi
mov esi, eax
mov dword [esp + 0x48], eax
cmp dl, 0x34
jne 0x4827ee
mov byte [esp + 0x4c], 0x44
jmp 0x482813
cmp dl, 0x8f
jne 0x4827fa
mov byte [esp + 0x4c], 0x45
jmp 0x482813
movzx eax, byte [esp + 0x13]
cmp dl, 0x33
mov dword [esp + 0x70], 0x46
cmove eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x48272b
nop dword [eax + eax]
dec ecx
mov edx, esi
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x24]
call fcn.00482d10
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
call fcn.00482d10
and eax, dword [esp + 0x6c]
and edx, dword [esp + 0x68]
or eax, edx
jne 0x482985
test esi, esi
je 0x48286d
mov ecx, dword [esp + 0x28]
mov edx, esi
push eax
push eax
call fcn.0043cd70
add esp, 8
mov ebx, eax
jmp 0x48286f
xor ebx, ebx
mov eax, dword [esp + 0x14]
push 0
push 0x30
mov ecx, dword [eax]
call fcn.00405440
mov esi, eax
add esp, 8
test esi, esi
je 0x4828d6
push 0x30
push 0
push esi
call fcn.004e8ed0
or eax, 0xffffffff
mov byte [esi], 0x2e
add esp, 0xc
mov word [esi + 0x22], ax
test ebx, ebx
je 0x4828b0
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.0043c260
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x4828e7
push eax
push 0x539df8
push ecx
call fcn.004081e0
add esp, 0xc
jmp 0x4828e7
test ebx, ebx
je 0x4828e7
mov eax, dword [esp + 0x14]
mov edx, ebx
mov ecx, dword [eax]
call fcn.0043cb90
test byte [edi + 4], 1
je 0x4828f5
test esi, esi
je 0x4828f5
or dword [esi + 4], 1
mov ebx, dword [esp + 0x2c]
mov edx, esi
push 3
mov ecx, ebx
call fcn.004809a0
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x6c]
shl edx, 4
add esi, edx
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x68]
mov dword [esi + 0x24], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x14], eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x1c], eax
mov eax, 0x40
mov word [esi + 0xc], ax
mov eax, dword [esp + 0x4c]
mov byte [esi + 0xf], al
mov eax, dword [ebx + 0x14]
mov dword [eax + edx + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0x1c]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx + 8], ax
mov eax, dword [ebx + 0x14]
mov edx, dword [esp + 0x1c]
inc byte [eax + edx + 0xe]
mov ecx, dword [ebx + 0x14]
add ecx, edx
mov dword [esp + 0x18], ecx
or word [ecx + 0xa], 8
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x20], esi
mov esi, eax
mov dword [esp + 0x48], esi
test ecx, ecx
jg 0x482820
jmp 0x48272b
cmp al, 0x77
jne 0x482a95
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
cmp eax, 1
jle 0x482a95
mov edx, dword [edi + 0x10]
mov al, byte [edx]
cmp al, 0x96
jne 0x4829cc
mov al, byte [edx + 0x26]
cmp al, 0x97
jne 0x4829d5
lea eax, [edx + 0x14]
jmp 0x4829e0
cmp al, 0x77
jne 0x482a95
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
mov ebx, dword [esp + 0x6c]
cmp dword [eax], ebx
mov ebx, dword [esp + 0x2c]
jne 0x482a95
test dword [ecx + 4], 0x800
je 0x482a08
test dword [edx + 4], 0x800
jne 0x482a95
xor eax, eax
mov dword [esp + 0x5c], eax
nop
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x14]
push eax
call fcn.0043bc30
mov edx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [esp + 0x14]
mov esi, eax
push dword [esp + 0x5c]
call fcn.0043bc30
movzx edx, byte [edi]
add esp, 4
mov ecx, dword [esp + 0x14]
push eax
push esi
call fcn.0043c550
add esp, 8
test eax, eax
je 0x482a5b
mov ecx, dword [edi + 4]
and ecx, 1
or dword [eax + 4], ecx
mov cx, word [edi + 0x24]
mov word [eax + 0x24], cx
push 1
mov edx, eax
mov ecx, ebx
call fcn.004809a0
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, ebx
push eax
call fcn.00481b70
mov eax, dword [esp + 0x60]
add esp, 4
inc eax
mov dword [esp + 0x5c], eax
cmp eax, dword [esp + 0x6c]
jl 0x482a10
mov esi, dword [ebx + 0x14]
add esi, dword [esp + 0x1c]
mov dword [esi + 0xa], 6
cmp byte [ebx + 8], 0x2c
jne 0x482b5b
cmp byte [edi], 0x31
jne 0x482b5b
cmp dword [esi + 0x18], 0
jne 0x482b5b
mov eax, dword [edi + 0xc]
cmp byte [eax], 0x97
jne 0x482b5b
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x30], 0
jne 0x482b5b
xor edx, edx
mov dword [esp + 0x5c], edx
mov ecx, dword [edi + 0xc]
mov al, byte [ecx]
cmp al, 0x96
jne 0x482add
mov al, byte [ecx + 0x26]
cmp al, 0x97
jne 0x482ae8
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x482afa
cmp al, 0x77
jne 0x482af5
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x482afa
mov eax, 1
cmp edx, eax
jge 0x482b5b
push 2
mov edx, edi
mov ecx, ebx
call fcn.004809a0
mov ecx, dword [ebx + 0x14]
add esp, 4
mov edx, dword [esp + 0x5c]
inc edx
lea esi, [eax + eax*2]
mov dword [esp + 0x5c], edx
add esi, esi
push eax
mov dword [ecx + esi*8 + 0x18], edx
mov edx, ebx
mov ecx, dword [esp + 0x34]
call fcn.00481b70
mov eax, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
mov dword [eax + esi*8 + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov ax, word [edx + ecx + 8]
mov word [ecx + esi*8 + 8], ax
mov eax, dword [ebx + 0x14]
inc byte [eax + edx + 0xe]
mov edx, dword [esp + 0x5c]
jmp 0x482ad1
mov eax, dword [ebx + 0x14]
add eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
or dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x60]
or dword [eax + 0x24], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret