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

Disassembly:
push 0xffffffffffffffff
push 0x5e2886
mov eax, dword fs:[0]
push eax
sub esp, 0x1d4
mov eax, dword [0x65f810]
xor eax, esp
mov dword [esp + 0x1d0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x65f810]
xor eax, esp
push eax
lea eax, [esp + 0x1e8]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [0x66d460]
call fcn.00454410
mov ecx, dword [edi + 4]
add eax, 0x414
xor ebx, ebx
add ecx, 0x24
mov dword [esp + 0x38], eax
cmp dword [eax + 0x14], ebx
jne 0x49d570
push 1
push 0x71a
call fcn.004d4d50
mov ecx, dword [edi + 4]
push ebx
push 0x71d
add ecx, 0x24
call fcn.004d4d50
jmp 0x49e875
push ebx
push 0x71a
call fcn.004d4d50
mov ecx, dword [edi + 4]
push 1
push 0x71d
add ecx, 0x24
call fcn.004d4d50
mov ecx, dword [0x66d460]
call fcn.00454410
mov ebp, dword [eax + 0x474]
add eax, 0x468
mov dword [esp + 0x2c], eax
cmp ebp, dword [eax + 0x10]
jbe 0x49d5b1
call fcn.00579468
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebp
nop
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x34], ecx
cmp dword [eax + 0xc], ecx
jbe 0x49d5d5
call fcn.00579468
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
cmp esi, ebx
je 0x49d5df
cmp esi, eax
je 0x49d5e4
call fcn.00579468
cmp ebp, dword [esp + 0x34]
je 0x49e871
cmp esi, ebx
jne 0x49d615
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49d603
call fcn.00579468
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x18], 8
mov ecx, dword [eax + 0x14]
jb 0x49d619
mov eax, dword [eax + 4]
jmp 0x49d61c
mov eax, dword [esi]
jmp 0x49d5f9
add eax, 4
push ecx
push eax
mov eax, dword [ebp + 0x114]
push eax
push ebx
lea ecx, [ebp + 0x100]
call fcn.004374c0
test eax, eax
je 0x49d65d
cmp esi, ebx
jne 0x49d659
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49d64a
call fcn.00579468
mov eax, dword [esp + 0x2c]
add ebp, 0x11c
jmp 0x49d5c0
mov eax, dword [esi]
jmp 0x49d640
mov edx, dword [0x66dd30]
mov eax, dword [edx + 0xc]
mov ecx, 0x66dd30
mov dword [esp + 0x20], ebp
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov edx, dword [0x66dd30]
mov eax, dword [edx + 0xc]
mov ecx, 0x66dd30
mov dword [esp + 0x1f0], ebx
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
mov edx, dword [0x66dd30]
mov eax, dword [edx + 0xc]
mov ecx, 0x66dd30
mov byte [esp + 0x1f0], 1
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
xor ecx, ecx
push 7
mov word [esp + 0xf0], cx
push 0x5f78a4
lea ecx, [esp + 0xf0]
mov byte [esp + 0x1f8], 2
mov dword [esp + 0x108], 7
mov dword [esp + 0x104], ebx
call fcn.00439ce0
mov byte [esp + 0x1f0], 3
cmp esi, ebx
jne 0x49d8d4
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49d70d
call fcn.00579468
push 0xffffffffffffffff
lea eax, [ebp + 0xe0]
push ebx
xor edx, edx
push eax
lea ecx, [esp + 0x110]
mov dword [esp + 0x128], 7
mov dword [esp + 0x124], ebx
mov word [esp + 0x114], dx
call fcn.00439be0
mov byte [esp + 0x1f0], 4
cmp esi, ebx
jne 0x49d8db
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49d760
call fcn.00579468
sub esp, 0x1c
mov dword [esp + 0x30], esp
lea eax, [ebp + 0xa8]
mov ebp, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0xffffffffffffffff
push ebx
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.00439be0
push ebp
call fcn.0045f560
lea eax, [esp + 0x178]
add esp, 0x20
push eax
call fcn.0045f8c0
add esp, 0x20
xor ecx, ecx
push 0x2d
mov word [esp + 0xd4], cx
push str.http:__www.battlenet.com.cn_wow_zh_character_
lea ecx, [esp + 0xd4]
mov byte [esp + 0x1f8], 5
mov dword [esp + 0xec], 7
mov dword [esp + 0xe8], ebx
call fcn.00439ce0
mov dword [esp + 0xac], 0xf
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
cmp dword [esp + 0x154], 8
mov eax, dword [esp + 0x140]
mov byte [esp + 0x1f0], 7
jae 0x49d81a
lea eax, [esp + 0x140]
push ebx
lea edx, [esp + 0x98]
push edx
push eax
call fcn.0045c890
add esp, 0xc
cmp esi, ebx
jne 0x49d8e2
call fcn.00579468
xor eax, eax
mov ebp, dword [esp + 0x20]
cmp ebp, dword [eax + 0x10]
jb 0x49d849
call fcn.00579468
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
lea eax, [ebp + 0xc4]
push ebx
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.00439be0
call fcn.0045e580
mov ecx, dword [edi + 4]
add esp, 0x1c
add ecx, 0x24
push 0x71f
cmp eax, 3
jne 0x49d8e9
call fcn.004d3f20
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.racefemale
mov dword [esp + 0x34], eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x5f4458
mov byte [esp + 0x200], 8
call fcn.00470df0
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
add eax, 0x10
mov eax, dword [eax]
mov byte [esp + 0x1fc], 7
call eax
jmp 0x49d933
mov eax, dword [esi]
jmp 0x49d703
mov eax, dword [esi]
jmp 0x49d756
mov eax, dword [esi]
jmp 0x49d83b
call fcn.004d3f20
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.racemale
mov dword [esp + 0x34], eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x5f4458
mov byte [esp + 0x200], 9
call fcn.00470df0
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add eax, 0x10
mov byte [esp + 0x1fc], 7
call edx
cmp esi, ebx
jne 0x49df9b
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49d94c
call fcn.00579468
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
mov word [ecx + 4], ax
push ebx
lea eax, [ebp + 0xa8]
push eax
call fcn.00439be0
lea ecx, [esp + 0x190]
push ecx
call fcn.0045f560
add esp, 4
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x198]
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov byte [esp + 0x218], 0xa
mov word [ecx + 4], dx
call fcn.00439be0
call fcn.0045e7f0
push eax
lea ecx, [esp + 0x4c]
push 0x5f6650
push ecx
call fcn.0048d2c0
add esp, 0x28
cmp esi, ebx
jne 0x49dfa2
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49d9e3
call fcn.00579468
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push ebx
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov dword [esp + 0x58], eax
mov word [ecx + 4], dx
call fcn.00439be0
lea eax, [esp + 0x174]
push eax
call fcn.0045ff90
add esp, 4
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x17c]
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov byte [esp + 0x218], 0xb
mov word [ecx + 4], dx
call fcn.00439be0
call fcn.0045ebc0
push eax
lea ecx, [esp + 0x58]
push 0x5f6650
push ecx
call fcn.0048d2c0
add esp, 0x28
cmp esi, ebx
jne 0x49dfa9
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49da7b
call fcn.00579468
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
lea eax, [ebp + 0x8c]
push ebx
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.00439be0
lea eax, [esp + 0x1ac]
push eax
call fcn.0045f000
add esp, 4
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x1b4]
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov byte [esp + 0x218], 0xc
mov word [ecx + 4], dx
call fcn.00439be0
call fcn.0045e630
push eax
lea ecx, [esp + 0x54]
push 0x5f6650
push ecx
call fcn.0048d2c0
add esp, 0x28
cmp esi, ebx
jne 0x49dfb0
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49db12
call fcn.00579468
cmp dword [ebp + 0x4c], ebx
je 0x49db43
cmp esi, ebx
jne 0x49dfb7
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49db30
call fcn.00579468
push 0xffffffffffffffff
push ebx
lea edx, [ebp + 0x38]
push edx
lea ecx, [esp + 0xf4]
call fcn.00439be0
cmp esi, ebx
jne 0x49dfbe
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49db5c
call fcn.00579468
lea eax, [ebp + 0x1c]
push 0x5f18ac
push eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0x64]
push eax
call fcn.0043bbd0
add esp, 0xc
mov dword [esp + 0x28], eax
mov byte [esp + 0x1f0], 0xd
cmp esi, ebx
jne 0x49dfc5
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49db9b
call fcn.00579468
mov ecx, dword [esp + 0x28]
push ebp
push ecx
lea edx, [esp + 0x48]
push edx
call fcn.0043bca0
push str._advanced
push eax
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x208], 0xe
call fcn.0043bbd0
add esp, 0x18
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0x1fc], 0xf
call fcn.00439630
cmp dword [esp + 0x90], 8
jb 0x49dbf8
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00506f70
add esp, 4
xor edx, edx
cmp dword [esp + 0x58], 8
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], ebx
mov word [esp + 0x7c], dx
jb 0x49dc25
mov eax, dword [esp + 0x44]
push eax
call fcn.00506f70
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x74], 8
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], cx
mov byte [esp + 0x1f0], 0xc
jb 0x49dc54
mov edx, dword [esp + 0x60]
push edx
call fcn.00506f70
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0xd4]
push eax
lea ecx, [edi + 0x200]
call fcn.00439be0
mov dword [esp + 0x138], 0xf
mov dword [esp + 0x134], ebx
mov byte [esp + 0x124], bl
cmp dword [esp + 0xe4], 8
mov eax, dword [esp + 0xd0]
mov byte [esp + 0x1f0], 0x10
jae 0x49dca3
lea eax, [esp + 0xd0]
push 0xfde9
lea ecx, [esp + 0x124]
push ecx
push eax
call fcn.0045c890
add esp, 0xc
cmp esi, ebx
jne 0x49dfcc
call fcn.00579468
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x49dcd2
call fcn.00579468
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xa8]
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.00439be0
lea eax, [esp + 0x78]
push eax
call fcn.0045f200
add esp, 0x20
mov byte [esp + 0x1f0], 0x11
push eax
cmp esi, ebx
jne 0x49dfd3
call fcn.00579468
xor esi, esi
cmp ebp, dword [esi + 0x10]
jb 0x49dd29
call fcn.00579468
mov eax, dword [esp + 0x34]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.00439be0
lea ecx, [esp + 0x98]
push ecx
call fcn.0045fbe0
add esp, 0x20
push eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x1fc], 0x12
call fcn.0043bca0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x110]
mov byte [esp + 0x1fc], 0x13
call fcn.00439630
mov ebp, 8
cmp dword [esp + 0x58], ebp
jb 0x49dda6
mov eax, dword [esp + 0x44]
push eax
call fcn.00506f70
add esp, 4
xor ecx, ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], cx
cmp dword [esp + 0x90], ebp
jb 0x49ddcb
mov edx, dword [esp + 0x7c]
push edx
call fcn.00506f70
add esp, 4
xor eax, eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], ebx
mov word [esp + 0x7c], ax
mov byte [esp + 0x1f0], 0x10
cmp dword [esp + 0x74], ebp
jb 0x49ddfb
mov ecx, dword [esp + 0x60]
push ecx
call fcn.00506f70
add esp, 4
mov ecx, dword [edi + 4]
push 0x71e
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0x2c]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov ebp, esp
push eax
mov dword [esp + 0x20], eax
call fcn.00467b70
add eax, 0x10
mov dword [ebp], eax
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5f4e38
mov byte [esp + 0x200], 0x14
call fcn.00470df0
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
add eax, 0x10
mov ecx, esi
mov byte [esp + 0x1fc], 0x10
call edx
mov ecx, dword [edi + 4]
push 0x71f
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0x38]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov ebp, esp
push eax
mov dword [esp + 0x34], eax
call fcn.00467b70
add eax, 0x10
mov dword [ebp], eax
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5f4e38
mov byte [esp + 0x200], 0x15
call fcn.00470df0
mov eax, dword [esi]
add eax, 0x10
mov eax, dword [eax]
mov ecx, esi
mov byte [esp + 0x1fc], 0x10
call eax
mov ecx, dword [edi + 4]
push 0x720
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0x34]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov ebp, esp
push eax
mov dword [esp + 0x3c], eax
call fcn.00467b70
add eax, 0x10
mov dword [ebp], eax
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x5f4e38
mov byte [esp + 0x200], 0x16
call fcn.00470df0
mov eax, dword [esi]
add eax, 0x10
mov byte [esp + 0x1fc], 0x10
mov edx, dword [eax]
mov ecx, esi
call edx
cmp dword [esp + 0x100], 8
mov eax, dword [esp + 0xec]
jae 0x49df28
lea eax, [esp + 0xec]
mov ecx, dword [edi + 4]
push eax
push 0x723
add ecx, 0x24
call fcn.004d3f20
mov ecx, eax
call fcn.004d7550
mov eax, dword [esp + 0x108]
mov ebp, 8
cmp dword [esp + 0x11c], ebp
jae 0x49df5c
lea eax, [esp + 0x108]
mov ecx, dword [edi + 4]
push eax
push 0x724
add ecx, 0x24
call fcn.004d3f20
mov ecx, eax
call fcn.004d7550
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x49dfda
call fcn.00579468
xor eax, eax
mov esi, dword [esp + 0x20]
cmp esi, dword [eax + 0x10]
jb 0x49df91
call fcn.00579468
cmp dword [esi + 0x18], ebp
jb 0x49dfde
mov eax, dword [esi + 4]
jmp 0x49dfe1
mov eax, dword [esi]
jmp 0x49d942
mov eax, dword [esi]
jmp 0x49d9d9
mov eax, dword [esi]
jmp 0x49da71
mov eax, dword [esi]
jmp 0x49db08
mov eax, dword [esi]
jmp 0x49db26
mov eax, dword [esi]
jmp 0x49db52
mov eax, dword [esi]
jmp 0x49db91
mov eax, dword [esi]
jmp 0x49dcc8
mov esi, dword [esi]
jmp 0x49dd1f
mov eax, dword [eax]
jmp 0x49df83
lea eax, [esi + 4]
mov ecx, dword [edi + 4]
push eax
push 0x725
add ecx, 0x24
call fcn.004d3f20
mov ecx, eax
call fcn.004d7550
mov ecx, dword [edi + 4]
push 0x725
add ecx, 0x24
call fcn.004d3f20
mov ebp, 0x10
mov esi, eax
mov eax, dword [esp + 0x98]
push ebx
cmp dword [esp + 0xb0], ebp
jae 0x49e028
lea eax, [esp + 0x9c]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5f44a0
mov byte [esp + 0x200], 0x17
call fcn.00470df0
mov eax, dword [esi]
add eax, ebp
mov eax, dword [eax]
mov ecx, esi
mov byte [esp + 0x1fc], 0x10
call eax
mov ecx, dword [edi + 4]
push 0x725
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0x98]
push ebx
cmp dword [esp + 0xb0], ebp
jae 0x49e08a
lea eax, [esp + 0x9c]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.crhover
mov byte [esp + 0x200], 0x18
call fcn.00470df0
mov eax, dword [esi]
mov edx, dword [eax + ebp]
add eax, ebp
mov ecx, esi
mov byte [esp + 0x1fc], 0x10
call edx
mov ecx, dword [edi + 4]
push 0x725
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0x124]
push ebx
cmp dword [esp + 0x13c], ebp
jae 0x49e0ed
lea eax, [esp + 0x128]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.href
mov byte [esp + 0x200], 0x19
call fcn.00470df0
mov eax, dword [esi]
add eax, ebp
mov eax, dword [eax]
mov ecx, esi
mov byte [esp + 0x1fc], 0x10
call eax
mov ecx, dword [edi + 4]
push 0x724
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0x98]
push ebx
cmp dword [esp + 0xb0], ebp
jae 0x49e14f
lea eax, [esp + 0x9c]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5f44a0
mov byte [esp + 0x200], 0x1a
call fcn.00470df0
mov eax, dword [esi]
mov edx, dword [eax + ebp]
add eax, ebp
mov ecx, esi
mov byte [esp + 0x1fc], 0x10
call edx
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
mov byte [esp + 0x1f0], 0x1b
cmp dword [esp + 0x1c], ebx
jne 0x49e282
call fcn.00579468
xor eax, eax
mov esi, dword [esp + 0x20]
cmp esi, dword [eax + 0x10]
jb 0x49e1c8
call fcn.00579468
push 0xfde9
lea ecx, [esp + 0xb4]
push ecx
cmp byte [esi + 0xfc], bl
je 0x49e28d
push 0x5f7818
call fcn.0045c890
mov ecx, dword [edi + 4]
add esp, 0xc
push 0x728
add ecx, 0x24
call fcn.004d3f20
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5f4e3c
mov esi, eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5f4e38
mov byte [esp + 0x200], 0x1c
call fcn.00470df0
mov eax, dword [esi]
mov edx, dword [eax + ebp]
add eax, ebp
mov ecx, esi
mov byte [esp + 0x1fc], 0x1b
call edx
mov ecx, dword [edi + 4]
push 0x728
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0xb4]
push ebx
cmp dword [esp + 0xcc], ebp
jae 0x49e268
lea eax, [esp + 0xb8]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00470df0
mov byte [esp + 0x1f8], 0x1d
jmp 0x49e329
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
jmp 0x49e1ba
push 0x5f7804
call fcn.0045c890
mov ecx, dword [edi + 4]
add esp, 0xc
push 0x728
add ecx, 0x24
call fcn.004d3f20
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5f5794
mov esi, eax
call fcn.00470df0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5f4e38
mov byte [esp + 0x200], 0x1e
call fcn.00470df0
mov eax, dword [esi]
mov edx, dword [eax + ebp]
add eax, ebp
mov ecx, esi
mov byte [esp + 0x1fc], 0x1b
call edx
mov ecx, dword [edi + 4]
push 0x728
add ecx, 0x24
call fcn.004d3f20
mov esi, eax
mov eax, dword [esp + 0xb4]
push ebx
cmp dword [esp + 0xcc], ebp
jae 0x49e314
lea eax, [esp + 0xb8]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00470df0
mov byte [esp + 0x1f8], 0x1f
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5f443c
call fcn.00470df0
mov eax, dword [esi]
add eax, ebp
mov eax, dword [eax]
mov ecx, esi
mov byte [esp + 0x1fc], 0x1b
call eax
mov esi, dword [esp + 0x1c]
cmp esi, ebx
jne 0x49e394
call fcn.00579468
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x49e369
call fcn.00579468
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x68], ebx
jne 0x49e39c
cmp esi, ebx
jne 0x49e398
call fcn.00579468
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x49e49a
call fcn.00579468
jmp 0x49e49a
mov eax, dword [esi]
jmp 0x49e35b
mov eax, dword [esi]
jmp 0x49e37d
cmp esi, ebx
jne 0x49e44c
call fcn.00579468
xor eax, eax
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x10]
jb 0x49e3b9
call fcn.00579468
mov eax, dword [esp + 0x20]
add eax, 0x54
push eax
lea ecx, [esp + 0x7c]
push ecx
mov ecx, edi
call fcn.0049c310
mov eax, dword [esp + 0x7c]
mov esi, 8
mov byte [esp + 0x1f0], 0x20
cmp dword [esp + 0x90], esi
jae 0x49e3eb
lea eax, [esp + 0x7c]
push eax
lea ecx, [edi + 0x1f4]
call fcn.0049b9a0
test al, al
je 0x49e483
mov eax, dword [esp + 0x7c]
cmp dword [esp + 0x90], esi
jae 0x49e410
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.004e36f0
mov ebp, eax
add esp, 8
cmp ebp, 0xffffffff
je 0x49e47e
push 0x18
call fcn.00506f00
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
mov byte [esp + 0x1f0], 0x21
cmp esi, ebx
je 0x49e453
mov ecx, esi
call fcn.004dfd70
mov dword [esi], vtable.CDuiPngSkin.0
jmp 0x49e455
mov eax, dword [esi]
jmp 0x49e3ab
xor esi, esi
push ebp
mov ecx, esi
mov byte [esp + 0x1f4], 0x20
call fcn.004deeb0
mov ecx, dword [edi + 4]
push 0x722
add ecx, 0x24
call fcn.004d3f20
push ebx
push esi
mov ecx, eax
call fcn.004f1f90
mov ebp, 0x10
cmp dword [esp + 0x90], 8
jb 0x49e49a
mov edx, dword [esp + 0x7c]
push edx
call fcn.00506f70
add esp, 4
mov esi, 7
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c0], ebx
mov word [esp + 0x1b0], ax
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1dc], ebx
mov word [esp + 0x1cc], cx
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x1f0], 0x22
cmp eax, ebx
jne 0x49e863
call fcn.00579468
xor eax, eax
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x10]
jb 0x49e4f8
call fcn.00579468
sub esp, 0x1c
mov ecx, esp
xor eax, eax
mov dword [esp + 0x34], esp
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
mov word [ecx + 4], ax
mov eax, dword [esp + 0x3c]
push 0xffffffffffffffff
push ebx
add eax, 0xa8
push eax
call fcn.00439be0
lea ecx, [esp + 0x5c]
push ecx
call fcn.0045f200
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x1fc], 0x23
call fcn.00439be0
cmp dword [esp + 0x58], 8
mov byte [esp + 0x1f0], 0x22
jb 0x49e560
mov edx, dword [esp + 0x44]
push edx
call fcn.00506f70
add esp, 4
xor eax, eax
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
cmp eax, ebx
jne 0x49e86a
call fcn.00579468
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x49e590
call fcn.00579468
mov edx, dword [esp + 0x3c]
push 0xffffffffffffffff
push ebx
push edx
lea ecx, [esp + 0x1d4]
call fcn.00439be0
mov eax, dword [edi + 4]
mov edx, dword [eax + 4]
push ebx
lea ecx, [esp + 0x1b0]
push ecx
add eax, 4
push 0x522
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 4]
push 0x709
add ecx, 0x24
call fcn.004d3f20
mov ecx, eax
call fcn.004d4530
mov ecx, dword [edi + 4]
push 0x709
add ecx, 0x24
call fcn.004d3f20
mov ecx, eax
call fcn.004d47c0
lea ecx, [esp + 0x1ac]
call fcn.00462e60
cmp dword [esp + 0xc8], ebp
jb 0x49e615
mov eax, dword [esp + 0xb4]
push eax
call fcn.00506f70
add esp, 4
mov edi, 0xf
mov dword [esp + 0xc8], edi
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
cmp dword [esp + 0x138], ebp
jb 0x49e648
mov ecx, dword [esp + 0x124]
push ecx
call fcn.00506f70
add esp, 4
mov dword [esp + 0x138], edi
mov edi, 8
mov dword [esp + 0x134], ebx
mov byte [esp + 0x124], bl
cmp dword [esp + 0x1a8], edi
jb 0x49e67b
mov edx, dword [esp + 0x194]
push edx
call fcn.00506f70
add esp, 4
xor eax, eax
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1a4], ebx
mov word [esp + 0x194], ax
cmp dword [esp + 0x170], edi
jb 0x49e6ac
mov ecx, dword [esp + 0x15c]
push ecx
call fcn.00506f70
add esp, 4
xor edx, edx
mov dword [esp + 0x170], esi
mov dword [esp + 0x16c], ebx
mov word [esp + 0x15c], dx
cmp dword [esp + 0x18c], edi
jb 0x49e6dd
mov eax, dword [esp + 0x178]
push eax
call fcn.00506f70
add esp, 4
xor ecx, ecx
mov dword [esp + 0x18c], esi
mov dword [esp + 0x188], ebx
mov word [esp + 0x178], cx
cmp dword [esp + 0xac], ebp
jb 0x49e70e
mov edx, dword [esp + 0x98]
push edx
call fcn.00506f70
add esp, 4
mov dword [esp + 0xac], 0xf
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
cmp dword [esp + 0xe4], edi
jb 0x49e740
mov eax, dword [esp + 0xd0]
push eax
call fcn.00506f70
add esp, 4
xor ecx, ecx
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], ebx
mov word [esp + 0xd0], cx
cmp dword [esp + 0x154], edi
jb 0x49e771
mov edx, dword [esp + 0x140]
push edx
call fcn.00506f70
add esp, 4
xor eax, eax
mov dword [esp + 0x154], esi
mov dword [esp + 0x150], ebx
mov word [esp + 0x140], ax
cmp dword [esp + 0x11c], edi
jb 0x49e7a2
mov ecx, dword [esp + 0x108]
push ecx
call fcn.00506f70
add esp, 4
xor edx, edx
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], ebx
mov word [esp + 0x108], dx
cmp dword [esp + 0x100], edi
jb 0x49e7d3
mov eax, dword [esp + 0xec]
push eax
call fcn.00506f70
add esp, 4
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov word [esp + 0xec], cx
mov dword [esp + 0x100], esi
mov dword [esp + 0xfc], ebx
mov byte [esp + 0x1f0], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x49e810
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1f0], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49e834
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1f0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49e85c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x49e877
mov eax, dword [eax]
jmp 0x49e4ea
mov eax, dword [eax]
jmp 0x49e582
mov dword [esp + 0x20], ebp
xor eax, eax
mov ecx, dword [esp + 0x1e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1d0]
xor ecx, esp
call fcn.005792fc
add esp, 0x1e0
ret